首頁 > 軟體

nginx.conf組態檔結構小結

2022-04-08 16:00:22

核心組態檔的結構

nginx.conf主要由events、http、server、location、upstream等塊設定項和一些行設定項組成。

##程式碼塊中的events、http、server、location、upstream等都是塊設定項##
 
 
#規定哪些使用者使用,nobody的話就是所有人
#user  nobody;
 
 
##Nginx worker程序個數:其數量直接影響效能。
#每個worker程序都是單執行緒的程序,他們會呼叫各個模組以實現多種多樣的功能。如果這些模組不會出現阻塞式的呼叫,那麼,有多少CPU核心就應該設定多少個程序,反之,有可能出現阻塞式呼叫,那麼,需要設定稍多一些的worker程序。
worker_processes  1;
 
 
##error紀錄檔的設定,紀錄檔預設位置是我們在linux上安裝nginx時設定的,也可以在下面修改。
#語法: error_log /path/file level;
#預設: error_log / log/error.log error;
#當path/file 的值為 /dev/null時,這樣就不會輸出任何紀錄檔了,這也是關閉error紀錄檔的唯一手段;
#leve的取值範圍是debug、info、notice、warn、error、crit、alert、emerg從左至右級別依次增大。
#當level的級別為error時,error、crit、alert、emerg級別的紀錄檔就都會輸出。大於等於該級別會輸出,小於該級別的不會輸出。
#如果設定的紀錄檔級別是debug,則會輸出所有的紀錄檔,這一資料量會很大,需要預先確保/path/file所在的磁碟有足夠的磁碟空間。級別設定到debug,必須在configure時加入 --with-debug設定項。
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
 
events {
	worker_connections  1024;
}
 
 
http {
    //引入mime.types檔案的設定,這樣引入的方式主要是增加可讀性
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
 
    //設定一個tcp連線最多保持多長時間存活
    keepalive_timeout  65;
 
    server {
        //這裡是設定nginx首頁以及出錯跳轉頁面的,我們這裡設定的是localhost:80埠,也可以根據需要定義
        listen       80;
        server_name  localhost;
 
        //access.log 記錄所有使用者請求的一種紀錄檔
        #access_log  logs/host.access.log  main;
 
 
        //跳轉的nginx首頁,首頁檔案在根目錄的html資料夾下的index.html
        location / {
            root   html;
            index  index.html;
        }
		
        //出錯頁面,出錯的話就會跳轉。在根目錄的html資料夾下的/50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
    }
    //負載均衡的策略在upstream塊這裡設定,如下是輪詢的一個範例
    upstream bakend {
        server 192.168.1.10 weight=1;
        server 192.168.1.11 weight=2;
    }
 
    #引入其他的conf
    include       imooc.conf;
}
#imooc.conf
 
server {
        listen       81;
        server_name  localhost;
 
        //跳轉的nginx首頁,首頁檔案在根目錄的html資料夾下的index.html
        location / {
            root   html;
            index  imooc123.html;
        }
    }

nginx程序模型

包含master程序(用來監聽命令和請求)和worker程序(用來處理,是非同步非阻塞模式:如果當前client阻塞,就會繼續處理其他client的請求),可以通過設定開啟多個worker,每個 worker可以處理幾十萬甚至幾百萬的並行(根據機器效能),不過預設每個worker的連線數是1024。

 到此這篇關於nginx.conf組態檔結構小結的文章就介紹到這了,更多相關nginx.conf結構內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com