1.配置文件的位置
在/usr/local/nginx/conf/下
2.nginx配置文件的組成部分
1.nginx配置文件有三部分組成
第一部分:全局塊
從配置文件開始到events塊之間的內(nèi)容,主要會設(shè)置一些影響nginx服務(wù)器整體運(yùn)行的配置指令沪铭,主要包括配置運(yùn)行nginx服務(wù)器的用戶(組)、允許生成的worker process數(shù)薯酝,進(jìn)程PID存放路徑狮杨,日志存放路徑和類型以及配置文件的引入等
worker_processes 1;
這局是Nginx服務(wù)器并發(fā)處理服務(wù)的關(guān)鍵配置母截,worker_processess值越大,可以支持的并發(fā)處理量也越多禾酱,但是會收到硬件微酬,軟件等設(shè)備的制約
第二部分:events塊
events {
worker_connections 1024;
}
events塊涉及的指令主要影響Nginx服務(wù)器與網(wǎng)絡(luò)的連接,常用的設(shè)置包括是否開啟對多work process下的網(wǎng)絡(luò)連接進(jìn)行序列化颤陶,是否運(yùn)行同時接收多個網(wǎng)絡(luò)連接颗管,選取哪種事件驅(qū)動模型來處理連接請求,每個work process可以同時支持的最大連接數(shù)等
上述例子就表示每個work process支持的最大連接數(shù)為1024
這部分的配置對Nginx的性能影響較大滓走,在實(shí)際中應(yīng)該靈活配置
第三部分:http塊
這算是Nginx服務(wù)器配置中最頻繁的部分垦江,代理,緩存和日志定義等絕大多數(shù)功能和第三方模塊的配置都在這里
需要助理的是:http塊也可以包括http全局塊搅方,server塊
1.http全局塊
http全局塊配置的指令包括文件引入比吭、MIME-TYPE定義、日志自定義姨涡、連接超時時間\單鏈接請求數(shù)上限等
include mime.types;
default_type application/octet-stream;
#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 on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
2.server塊
這塊和虛擬主機(jī)有密切關(guān)系衩藤,虛擬主機(jī)從用戶角度看,和一臺獨(dú)立的硬件主機(jī)是完全一樣的涛漂,該技術(shù)的產(chǎn)生是為了節(jié)省互聯(lián)網(wǎng)服務(wù)器硬件成本赏表。
每個http塊可以包括多個server塊,而每個server塊就相當(dāng)于一個虛擬主機(jī)
而每個server塊也分為全局server塊匈仗,以及可以同時包含多個location塊
1.全局server塊
最常見的配置是本虛擬機(jī)主機(jī)的監(jiān)聽配置和本虛擬機(jī)主機(jī)的名稱或者ip配置
listen 80; #監(jiān)聽的端口號 默認(rèn)
server_name localhost; #虛擬機(jī)的名稱或者ip
#charset koi8-r;
#access_log logs/host.access.log main;
2.location塊
一個server塊可以配置多個location塊
這塊的主要作用是基于Nginx服務(wù)器接收到的請求字符串(例如:server_name/uri-string),對虛擬主機(jī)名稱(也可以是ip別名)之外的字符串(例如 前面的/uri-string)進(jìn)行匹配瓢剿,對特定的請求進(jìn)行處理。地址定向悠轩,數(shù)據(jù)緩存和應(yīng)答控制等功能间狂,還有許多第三方模塊的配置也在這里進(jìn)行。
location / {
root html; #在nginx目錄下的 html文件夾下
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1;
}