Centos7.2 安裝nignx

1、準(zhǔn)備安裝環(huán)境

rpm -qa|grep gcc
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2料仗、下載編譯包

https://nginx.org/en/download.html
我用的是nginx-1.14.2.tar.gz

# 解壓
tar -xvf nginx-1.14.2.tar.gz
# 進(jìn)入目錄
cd nginx-1.14.2

交叉編譯

./configure --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module

make

make && make install

make 完成后默認(rèn)會(huì)在/usr/local下生成一個(gè)nginx目錄

3、配置nginx.conf

Nginx 編譯參數(shù)

  • --prefix=path —— 定義Nguni 服務(wù)所在的文件夾诀浪,服務(wù)根路徑筑辨,用于設(shè)置其他由configure設(shè)置的相對(duì)路徑(除了用到的源庫(kù)路徑)纯蛾。默認(rèn)是/usr/local/nginx
  • --sbin-path=path —— 設(shè)置nginx可執(zhí)行文件的名字却嗡,默認(rèn)是prefix/sbin/nginx舶沛。
  • --conf-path=path —— 設(shè)置nginx配置文件的名字。nginx可以通過(guò)指定使用不同的配置文件來(lái)啟動(dòng)窗价,加命令參數(shù)為-c file如庭。默認(rèn)nginx配置文件名為prefix/conf/nginx.conf。
  • --pid-path=path —— 設(shè)置保存nginx主進(jìn)程process ID的文件名撼港。安裝完畢后也可以在nginx.conf中修改,使用pid選項(xiàng)坪它。該文件默認(rèn)命名為prefix/logs/nginx.pid。
  • --error-log-path=path —— 設(shè)置關(guān)鍵錯(cuò)誤帝牡、警告和診斷的日志文件名往毡。安裝完畢后也可以在nginx.conf中修改,使用error_log選項(xiàng)靶溜。該文件默認(rèn)命名為prefix/logs/error.log开瞭。
  • --http-log-path=path —— 設(shè)置http服務(wù)請(qǐng)求的日志文件名。安裝完畢后罩息,可在nginx.conf中修改嗤详,使用access_log選項(xiàng)。默認(rèn)文件名prefix/logs/access.log瓷炮。
  • --build=name —— 設(shè)置一個(gè)可選的nginx別名
  • --user=name —— 設(shè)置工作進(jìn)程的用戶(hù)名(一般是非特權(quán)用戶(hù))葱色,安裝完畢后,可在nginx.conf中通過(guò)選項(xiàng)user修改娘香。默認(rèn)為nobody苍狰。
  • --group=name —— 設(shè)置工作進(jìn)程的用戶(hù)組办龄,安裝完畢后,可在nginx.conf中通過(guò)選項(xiàng)user修改舞痰。默認(rèn)情況下土榴,用戶(hù)組名稱(chēng)是非特權(quán)用戶(hù)組名稱(chēng)。
  • --with-select_module
  • --without-select_module —— 啟用或禁用一個(gè)允許服務(wù)使用select()方法的模塊响牛。如果平臺(tái)沒(méi)有更適合的方法玷禽,例如kqueue, epoll, or /dev/poll,這個(gè)模塊會(huì)自動(dòng)編譯呀打。
    我的理解是:--with-select_module表示將編譯select_module模塊
  • --without-select_module 表示不編譯select_module模塊
  • --with-poll_module
  • --without-poll_module—— 啟用或禁用一個(gè)允許服務(wù)使用poll()方法的模塊矢赁。如果平臺(tái)沒(méi)有更適合的方法,例如kqueue, epoll, or /dev/poll贬丛,這個(gè)模塊會(huì)自動(dòng)編譯撩银。
  • --without-http_gzip_module —— 禁止編譯壓縮http服務(wù)響應(yīng)的模塊,該模塊構(gòu)建和啟用依賴(lài)zlib庫(kù)豺憔。
  • --without-http_rewrite_module —— 禁止編譯允許http服務(wù)重定向請(qǐng)求和更改請(qǐng)求URI的模塊额获,該模塊構(gòu)建和啟用依賴(lài)pcre庫(kù)。
  • --without-http_proxy_module —— 禁止編譯http服務(wù)代理模塊恭应。
  • --with-http_ssl_module—— 啟用編譯一個(gè)支持把https加到http服務(wù)的模塊抄邀。該模塊默認(rèn)不編譯,依賴(lài)OpenSSL庫(kù)昼榛。
  • --with-pcre=path —— 設(shè)置pcre庫(kù)源碼路徑境肾。該庫(kù)是正則表達(dá)式所必須的,推薦安裝胆屿。
  • --with-pcre-jit —— 用即時(shí)編譯構(gòu)建pcre庫(kù)奥喻。
  • --with-zlib=path —— 設(shè)置zlib庫(kù)源碼路徑。該庫(kù)是壓縮模塊所必須的非迹,推薦安裝环鲤。
  • --with-cc-opt=parameters —— 該選項(xiàng)設(shè)置的參數(shù)將被添加到CFLAGS變量,在FreeBSD系統(tǒng)中使用系統(tǒng)pcre庫(kù)時(shí)憎兽,--with-cc-opt="-I /usr/local/include"將被指定楔绞。如果select()支持的文件數(shù)量需要增加,該參數(shù)可指定如下--with-cc-opt="-D FD_SETSIZE=2048"唇兑。
  • --with-ld-opt=parameters —— 該選項(xiàng)設(shè)置的參數(shù)將在鏈接時(shí)使用酒朵。在FreeBSD系統(tǒng)中使用系統(tǒng)pcre庫(kù)時(shí),指定 --with-ld-opt="-L /usr/local/lib"扎附。

4蔫耽、常用配置

# 啟動(dòng)nginx的用戶(hù)名和組名
user  develope develope;
# 工作線程數(shù)量,此配置最好為cpu核心數(shù)量或者2倍
worker_processes  4;

events {
    # worker_connections 指定最大可以同時(shí)接收的連接數(shù)量,這里一定要注意匙铡,最大連接數(shù)量是和worker processes共同決定的图甜。
    worker_connections  4096;
    #  配置指定nginx在收到一個(gè)新連接通知后盡可能多的接受更多的連接
    multi_accept        on;
    # 如果是linux2.6+,使用epoll鳖眼,如果是BSD如Mac請(qǐng)使用Kqueue
    use                 epoll;
}
# 核心配置  配置虛擬主機(jī)集合
http {
    include       mime.types;
    default_type  application/octet-stream;

    # 日志格式定義
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

    # http請(qǐng)求包最大數(shù)據(jù) 30m
    client_max_body_size 30m;

    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  65;
    types_hash_max_size 2048;

    # 設(shè)定請(qǐng)求緩沖
    client_header_buffer_size    128k; # 指定客戶(hù)端請(qǐng)求頭緩存大小黑毅,當(dāng)請(qǐng)求頭大于 1KB 時(shí)會(huì)用到該項(xiàng)
    large_client_header_buffers  4 128k; # 最大數(shù)量和最大客戶(hù)端請(qǐng)求頭的大小


    ##
    #    # SSL Settings
    #
    #
    ##配置共享會(huì)話緩存大小
    ssl_session_cache   shared:SSL:10m;
    # 配置會(huì)話超時(shí)時(shí)間
    ssl_session_timeout 10m;


    ##
    #    # Logging Settings
    #        ##
    #
    access_log     /usr/local/lib/logs/nginx/http-access.log;  ## 訪問(wèn)日志
    error_log      /usr/local/lib/logs/nginx/http-error.log;    ## 錯(cuò)誤日志

    # 啟用gzip
    gzip     on;
    gzip_disable "msie [1-6]";

    # 負(fù)載均衡配置
    upstream service.upstream.com {
        # 輪循模式
        # weight           權(quán)重
        # ip_hash         通過(guò)ip的hash值
        # backup          其它所有非backup都down的時(shí)候啟用backup
        # fair                 按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配钦讳。與weight分配策略類(lèi)似矿瘦。
        # down              不參與
        server 172.26.203.175:8020 weight=10;                              #  ZZ-APP-SERVER-003
        server 172.26.203.174:8020 weight=10;                              #  ZZ-APP-SERVER-002
        server 172.26.203.172:8020 weight=10;                              #  ZZ-APP-SERVER-001
    }
      
     # 定義綁定主機(jī)
     server {
        # 監(jiān)聽(tīng)端口
        listen       80;
        # 此主機(jī)監(jiān)聽(tīng)host_name
        server_name  www.xxx.com;                         # API service
        # 日志
        access_log   /usr/local/lib/logs/nginx/host.service.log  main;
        
       # location 配置可以有多個(gè)    遵守最長(zhǎng)匹配原則
       # 普通配置
        location / {
              root                    /usr/local/lib/www;
              index                  index.html    index.htm;
        }

        # 轉(zhuǎn)發(fā)配置
        location /api/ {
            proxy_pass             http://service.upstream.com;
            proxy_set_header       Host $host;
            proxy_set_header       X-real-ip $remote_addr;
            proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        # 特殊處理
        if ($host = "www.xxx.com") {
           return 301 https://$server_name$request_uri;
        }
    }
  
    # https
    server {
        listen        443 ssl;
        server_name   www.xxx.com;

        #設(shè)置長(zhǎng)連接
        keepalive_timeout   70;

       #  證書(shū)地址
        ssl_certificate       /usr/local/nginx/cert/www.xxx.com.pem;
        ssl_certificate_key   /usr/local/nginx/cert/www.xxx.com.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;

        #優(yōu)先采取服務(wù)器算法
        ssl_prefer_server_ciphers on;

        #  HSTS策略
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;preload" always;

        #防XSS攻擊
        add_header X-Xss-Protection 1;

        location / {
            proxy_pass                 http://service.upstream.com;
            proxy_set_header       Host $host;
            proxy_set_header       X-real-ip $remote_addr;
            proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    # 引入其它配置
    include /usr/local/lib/web-http.conf;
}

區(qū)別手機(jī)端
if ( $http_user_agent ~ "(MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT-)|(SonyEricsson)|(NEC-)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi-)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG-)|(LG/)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC-)|(SED-)|(EMOL-)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera)" )
{
root /usr/local/website/mobile;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市愿卒,隨后出現(xiàn)的幾起案子缚去,更是在濱河造成了極大的恐慌,老刑警劉巖琼开,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件易结,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡柜候,警方通過(guò)查閱死者的電腦和手機(jī)搞动,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)渣刷,“玉大人滋尉,你說(shuō)我怎么就攤上這事》芍鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵高诺,是天一觀的道長(zhǎng)碌识。 經(jīng)常有香客問(wèn)我,道長(zhǎng)虱而,這世上最難降的妖魔是什么筏餐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮牡拇,結(jié)果婚禮上魁瞪,老公的妹妹穿的比我還像新娘。我一直安慰自己惠呼,他們只是感情好导俘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著剔蹋,像睡著了一般旅薄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泣崩,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天少梁,我揣著相機(jī)與錄音洛口,去河邊找鬼。 笑死凯沪,一個(gè)胖子當(dāng)著我的面吹牛第焰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妨马,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼挺举,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了身笤?” 一聲冷哼從身側(cè)響起豹悬,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎液荸,沒(méi)想到半個(gè)月后瞻佛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡娇钱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年伤柄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片文搂。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡适刀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煤蹭,到底是詐尸還是另有隱情笔喉,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布硝皂,位于F島的核電站常挚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏稽物。R本人自食惡果不足惜奄毡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贝或。 院中可真熱鬧吼过,春花似錦、人聲如沸咪奖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)羊赵。三九已至售淡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揖闸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工糠赦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悄但,地道東北人先紫。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓骗绕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贮泞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楞慈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 本文是介紹使用源碼編譯安裝,包括具體的編譯參數(shù)信息啃擦。 正式開(kāi)始前囊蓝,編譯環(huán)境gcc g++ 開(kāi)發(fā)庫(kù)之類(lèi)的需要提前裝好...
    oYoY閱讀 2,879評(píng)論 0 1
  • nginx在工作中已經(jīng)有好幾個(gè)環(huán)境在使用了,每次都是重新去網(wǎng)上扒博客令蛉,各種編譯配置聚霜,今天自己也整理一份安裝文檔和n...
    AndyChin閱讀 2,293評(píng)論 0 4
  • 一、前言 我在《0基礎(chǔ)自學(xué)linux運(yùn)維-2.1-源碼珠叔、二進(jìn)制蝎宇、yum/apt安裝區(qū)別》說(shuō)過(guò): 當(dāng)yum/apt和...
    hualinux閱讀 772評(píng)論 0 5
  • 1. 記在前面 configure時(shí)遇到錯(cuò)誤nginx在編譯安裝時(shí),進(jìn)入其源碼解壓目錄后祷安,使用./configur...
    天之藍(lán)色閱讀 5,332評(píng)論 0 6
  • “今天下午全體人員2點(diǎn)到江北鎮(zhèn)向陽(yáng)村開(kāi)展扶貧工作姥芥,請(qǐng)各位同志在手機(jī)上下載好APP,并認(rèn)真核對(duì)扶貧戶(hù)的信息汇鞭,確...
    煮水人閱讀 184評(píng)論 1 2