全局配置參數(shù)
user nginx;//使用nginx用戶身份啟動nginx
worker_process 10;// worker進(jìn)程數(shù)玫锋,一般與cpu核心數(shù)相同。
error_log /var/log/nginx/error.log warn;// 當(dāng)server中沒有單獨(dú)設(shè)置error_log時(shí)讼呢。
pid /var/run/nginx.pid;
events {
use /dev/poll;//使用事件模型`/dev/poll(Solaris 和Unix特有)撩鹿,epoll(Linux特有)`
worker_connections 2048;//一個(gè)工作進(jìn)程可以接口并發(fā)的最大連接數(shù)。
}
Http Section配置
1悦屏,簡介节沦。http section的指令键思,用來處理http鏈接。
//nginx.conf文件中
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
####定義訪問日志的格式甫贯。 在server中可以使用main格式稚机。access_log /var/log/nginx/hzq.com.log main;
log_format main '$remote_addr - [$time_local] "$request" '
'$status $body_bytes_sent'
'"$http_user_agent" $request_time ';
sendfile on;
client_header_buffer_size 512k;//當(dāng)客戶端請求頭大于1KB時(shí),會使用緩存获搏。
keepalive_timeout 65;
include /etc/nginx/site-enables/*.conf;//引入其他conf配置文件(主要是各個(gè)virtual server)
}
Server Section配置
1,簡介
1)通過關(guān)鍵字server 定義的section失乾,是一個(gè)虛擬服務(wù)器常熙,包含在http關(guān)鍵字定義的section中,用來響應(yīng)http請求碱茁。
不在listen中顯示指定default_server裸卫, 會默認(rèn)選擇第一個(gè)。
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main 'xxxxx'
include /etc/nginx/site-enables/*.conf; //引入文件纽竣。`每個(gè)文件中可以單獨(dú)配置server`
server {
listen 80 default_server;// `*:80, 一個(gè)服務(wù)器可能有多個(gè)公網(wǎng)ip墓贿,以及內(nèi)網(wǎng)ip。` 當(dāng)沒有Host的header時(shí)蜓氨,作為監(jiān)聽80的default server提供http服務(wù)聋袋。
server_name www.hzq.com www.hqq.com;//`請求頭 Host ,與server_name匹配穴吹,用于route 哪一個(gè)server`
}
}
2)request中如果沒有包含host字段幽勒,或者h(yuǎn)ost字段不在nginx server的server_name中,會使用在該端口上監(jiān)聽的default_server港令。
匹配沒有host請求頭的request
server {
listen 80;
server_name "";//默認(rèn)值啥容,可不填
//配置這個(gè)server,將取代在80端口上的default_server
}
3)default_server是listen指令的參數(shù)顷霹,不同的端口可以指定不同的default_server咪惠。
server {
listen 80 default_server;
server_name www.hzq.com www.hqq.com
//...
}
server {
listen 210.73.xxx.xxx:9876 default_server;
server_name "";
location / {
}
}
2,nginx通過自身的監(jiān)聽端口淋淀、request的host請求頭遥昧、server_name指令來決定request route到哪一個(gè)server。
3朵纷,server配置注意點(diǎn)渠鸽。
1)listen指令的格式
listen ip:port default_server; // 監(jiān)聽的是自己的ip(一個(gè)服務(wù)器可以有多個(gè)ip)和自己的端口。
listen port default_server;
2)server_name .hzq.com; //可以匹配子域和域本身*.hzq.com和hzq.com