Nginx 配置文件說明

直接看核心配置文件

#運(yùn)行用戶
user nobody;
#啟動(dòng)進(jìn)程,通常設(shè)置成和cpu的數(shù)量相等
worker_processes  1;
 
#全局錯(cuò)誤日志及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
#工作模式及連接數(shù)上限
events {
    #epoll是多路復(fù)用IO(I/O Multiplexing)中的一種方式,
    #僅用于linux2.6以上內(nèi)核,可以大大提高nginx的性能
    use   epoll; 
 
    #單個(gè)后臺(tái)worker process進(jìn)程的最大并發(fā)鏈接數(shù)    
    worker_connections  1024;
 
    # 并發(fā)總數(shù)是 worker_processes 和 worker_connections 的乘積
    # 即 max_clients = worker_processes * worker_connections
    # 在設(shè)置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4  為什么
    # 為什么上面反向代理要除以4,應(yīng)該說是一個(gè)經(jīng)驗(yàn)值
    # 根據(jù)以上條件彬坏,正常情況下的Nginx Server可以應(yīng)付的最大連接數(shù)為:4 * 8000 = 32000
    # worker_connections 值的設(shè)置跟物理內(nèi)存大小有關(guān)
    # 因?yàn)椴l(fā)受IO約束做入,max_clients的值須小于系統(tǒng)可以打開的最大文件數(shù)
    # 而系統(tǒng)可以打開的最大文件數(shù)和內(nèi)存大小成正比,一般1GB內(nèi)存的機(jī)器上可以打開的文件數(shù)大約是10萬左右
    # 我們來看看360M內(nèi)存的VPS可以打開的文件句柄數(shù)是多少:
    # $ cat /proc/sys/fs/file-max
    # 輸出 34336
    # 32000 < 34336秋冰,即并發(fā)連接總數(shù)小于系統(tǒng)可以打開的文件句柄總數(shù),這樣就在操作系統(tǒng)可以承受的范圍之內(nèi)
    # 所以,worker_connections 的值需根據(jù) worker_processes 進(jìn)程數(shù)目和系統(tǒng)可以打開的最大文件總數(shù)進(jìn)行適當(dāng)?shù)剡M(jìn)行設(shè)置
    # 使得并發(fā)總數(shù)小于操作系統(tǒng)可以打開的最大文件數(shù)目
    # 其實(shí)質(zhì)也就是根據(jù)主機(jī)的物理CPU和內(nèi)存進(jìn)行配置
    # 當(dāng)然睁壁,理論上的并發(fā)總數(shù)可能會(huì)和實(shí)際有所偏差,因?yàn)橹鳈C(jī)還有其他的工作進(jìn)程需要消耗系統(tǒng)資源互捌。
    # ulimit -SHn 65535
 
}
 
 
http {
    #設(shè)定mime類型,類型由mime.type文件定義
    include    mime.types;
    default_type  application/octet-stream;
    #設(shè)定日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  logs/access.log  main;
 
    #sendfile 指令指定 nginx 是否調(diào)用 sendfile 函數(shù)(zero copy 方式)來輸出文件潘明,
    #對(duì)于普通應(yīng)用,必須設(shè)為 on,
    #如果用來進(jìn)行下載等應(yīng)用磁盤IO重負(fù)載應(yīng)用秕噪,可設(shè)置為 off钳降,
    #以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的uptime.
    sendfile     on;
    #tcp_nopush     on;
 
    #連接超時(shí)時(shí)間
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay     on;
 
    #開啟gzip壓縮
    gzip  on;
    gzip_disable "MSIE [1-6].";
 
    #設(shè)定請(qǐng)求緩沖
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;
 
 
    #設(shè)定虛擬主機(jī)配置
    server {
        #偵聽80端口
        listen    80;
        #定義使用 www.nginx.cn訪問
        server_name  www.nginx.cn;
 
        #定義服務(wù)器的默認(rèn)網(wǎng)站根目錄位置 $document_root 變量將會(huì)取 root 指定的目錄腌巾,如果未設(shè)置遂填,則下面的 location 中可能無法找到正確的文件
        root html;
 
        #設(shè)定本虛擬主機(jī)的訪問日志
        access_log  logs/nginx.access.log  main;
 
        #默認(rèn)請(qǐng)求
        location / {
            #定義首頁索引文件的名稱
            index index.php index.html index.htm;   
            
            # 目前大多數(shù)框架都需要重定向 URL
            # try_files 指令告訴 Nginx 铲觉,首先檢查文件 $uri ,其次檢查目錄(也就是第二個(gè)參數(shù)) $uri/ 吓坚,如果文件或者目錄都不存在备燃,則將路由重定向到 /index.php 文件,并且附加請(qǐng)求參數(shù)($args 是nginx的變量)
            # nginx 更多變量可參考   https://nginx.org/en/docs/http/ngx_http_core_module.html#var_scheme
            try_files $uri $uri/ /index.php?$args;
        }
        
        # 匹配其他路由
        location = /admin/auth/ {
            # nginx 配置文件檢測小技巧:如果不確定你寫的路由是否能匹配凌唬,可采用下面的方法檢測并齐,如果路由跳轉(zhuǎn)到百度首頁,則說明 URL 能進(jìn)入到當(dāng)前 location 中
            return http://www.baidu.com;
         
            #try_files $uri $uri/ /admin/auth/index;
        }
 
        # 定義錯(cuò)誤提示頁面
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
            //可以自定義錯(cuò)誤頁面
        }
 
        #靜態(tài)文件客税,nginx自己處理
        # 直接支持靜態(tài)文件
        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|woff|ttf)$ {
          access_log        off;
          expires           30d;
        }
 
        # PHP 腳本請(qǐng)求全部轉(zhuǎn)發(fā)到 FastCGI處理. 使用FastCGI默認(rèn)配置.
        location ~ .php$ {
            # 默認(rèn)nginx 將 php 請(qǐng)求轉(zhuǎn)發(fā)給 scok况褪;如果使用該方式監(jiān)聽 FastCGI 的請(qǐng)求,則去掉 # 
            # unix: 后面的值來源于 /usr/local/php/etc/php-fpm.conf 文件的listen 配置項(xiàng) listen = /var/run/php/php7.4-fpm.sock
            # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            
            # 大多數(shù)情況使用 9000 端口監(jiān)聽 fastcgi 發(fā)送的請(qǐng)求
            # 注意同時(shí)要修改 /usr/local/php/etc/php-fpm.conf 文件中的 listen=127.0.0.1:9000 
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
 
        #禁止訪問 .htxxx 文件
            location ~ /.ht {
            deny all;
        }
 
    }
}

------------------------------------------------------------

常見問題梳理:
1.報(bào)錯(cuò) 502更耻,通常是 server 配置不正確
參考的解決步驟:

1)檢查 php-fpm 啟用情況
      systemctl status php-fpm

2)檢查 9000 端口是否開啟
      lsof -i:9000

3)必須保證 nginx 配置項(xiàng) server fastcgi_pass 的配置項(xiàng) 與 /usr/local/php/php-fpm.conf 文件中的 listen=127.0.0.1:9000 一致测垛!這樣 nginx 將 php 請(qǐng)求轉(zhuǎn)發(fā)給php-fpm后才能準(zhǔn)確接收,
下圖1為 nginx 的虛擬機(jī)配置文件秧均,圖2為 php-fpm.conf 配置文件食侮,兩個(gè)標(biāo)記的地方必須保持一致
圖1
圖2
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市目胡,隨后出現(xiàn)的幾起案子锯七,更是在濱河造成了極大的恐慌,老刑警劉巖誉己,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眉尸,死亡現(xiàn)場離奇詭異,居然都是意外死亡巨双,警方通過查閱死者的電腦和手機(jī)噪猾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筑累,“玉大人袱蜡,你說我怎么就攤上這事÷冢” “怎么了坪蚁?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長婆廊。 經(jīng)常有香客問我迅细,道長,這世上最難降的妖魔是什么淘邻? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任茵典,我火速辦了婚禮,結(jié)果婚禮上宾舅,老公的妹妹穿的比我還像新娘统阿。我一直安慰自己彩倚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布扶平。 她就那樣靜靜地躺著帆离,像睡著了一般。 火紅的嫁衣襯著肌膚如雪结澄。 梳的紋絲不亂的頭發(fā)上哥谷,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音麻献,去河邊找鬼们妥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛勉吻,可吹牛的內(nèi)容都是我干的监婶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼齿桃,長吁一口氣:“原來是場噩夢啊……” “哼惑惶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起短纵,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤带污,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踩娘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刮刑,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年养渴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泛烙。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡理卑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔽氨,到底是詐尸還是另有隱情藐唠,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布鹉究,位于F島的核電站宇立,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏自赔。R本人自食惡果不足惜妈嘹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绍妨。 院中可真熱鬧润脸,春花似錦柬脸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爆价,卻和暖如春垦巴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铭段。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工魂那, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稠项。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓涯雅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親展运。 傳聞我的和親對(duì)象是個(gè)殘疾皇子活逆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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