- nginx.conf配置文件結構
#user nobody; #主模塊命令, 指定Nginx的worker進程運行用戶以及用戶組,默認由nobody賬號運行。
worker_processes 1;#指定Nginx要開啓的進程數。
worker_rlimit_nofile 100000; #worker進程的最大打開文件數限制
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
/*
以上這塊配置代碼是對nginx全局屬性的配置。
user :主模塊命令, 指定Nginx的worker進程運行用戶以及用戶組,默認由nobody賬號運行。
worker_processes: 指定Nginx要開啓的進程數。
error log:用來定義全局錯設日誌文件的路徑和日誌名稱。
日誌輸出級別有debug,info,notice,warn,error,crit 可供選擇,其中debug輸出日誌最爲詳細,面crit(嚴重)輸出日誌最少。默認是error
pid: 用來指定進程id的存儲文件位置。
event:設定nginx的工作模式及連接數上限,
其中參數use用來指定nginx的工作模式(這裏是epoll,epoll是多路複用IO(I/O Multiplexing)中的一種方式),
nginx支持的工作模式有select ,poll,kqueue,epoll,rtsig,/dev/poll。
其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式,對於linux系統,epoll是首選。
worker_connection是設置nginx每個進程最大的連接數,默認是1024,所以nginx最大的連接數max_client=worker_processes * worker_connections。
進程最大連接數受到系統最大打開文件數的限制,需要設置ulimit。
*/
#下面部分是nginx對http服務器相關屬性的設置
http {
include mime.types; 主模塊命令,對配置文件所包含文件的設定,減少主配置文件的複雜度,相當於把部分設置放在別的地方,然後在包含進來,保持主配置文件的簡潔
default_type application/octet-stream; 默認文件類型,當文件類型未定義時候就使用這類設置的。
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 指定nginx日誌的格式
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on; 開啓高效文件傳輸模式(zero copy 方式),避免內核緩衝區數據和用戶緩衝區數據之間的拷貝。
#tcp_nopush on; 開啓TCP_NOPUSH套接字(sendfile開啓時有用)
#keepalive_timeout 0; 客戶端連接超時時間
keepalive_timeout 65;
#gzip on; 設置是否開啓gzip模塊
#下面是server段虛擬主機的配置
server {
listen 80; 虛擬主機的服務端口
server_name localhost; 用來指定ip或者域名,多個域名用逗號分開
#charset koi8-r;
location / {
#地址匹配設置,支持正則匹配,也支持條件匹配,這裏是默認請求地址,用戶可以location命令對nginx進行動態和靜態網頁過濾處理
root html; 虛擬主機的網頁根目錄
index index.html index.htm; 默認訪問首頁文件
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
備註 : 多個server可使用include引入
-
include /etc/nginx/*.conf;