全局配置參數(shù)
user nginx;//使用nginx用戶身份啟動(dòng)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,簡(jiǎn)介。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)客戶端請(qǐng)求頭大于1KB時(shí),會(huì)使用緩存。
keepalive_timeout 65;
include /etc/nginx/site-enables/*.conf;//引入其他conf配置文件(主要是各個(gè)virtual server)
}
Server Section配置
1,簡(jiǎn)介
1)通過關(guān)鍵字server 定義的section,是一個(gè)虛擬服務(wù)器,包含在http關(guān)鍵字定義的section中,用來響應(yīng)http請(qǐng)求。
不在listen中顯示指定default_server, 會(huì)默認(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;//`請(qǐng)求頭 Host ,與server_name匹配,用于route 哪一個(gè)server`
}
}
2)request中如果沒有包含host字段,或者h(yuǎn)ost字段不在nginx server的server_name中,會(huì)使用在該端口上監(jiān)聽的default_server。
匹配沒有host請(qǐng)求頭的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請(qǐng)求頭、server_name指令來決定request route到哪一個(gè)server。

image.png
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