1 配置文件基礎(chǔ)
默認(rèn)的nginx服務(wù)器配置文件都存放在安裝目錄conf中开泽,主配置文件名為nginx.conf,下面我們來(lái)看看nginx的配置文件內(nèi)容和一些基本的配置方法上真。
以下是一個(gè)完整的nginx配置文件懒闷。
worker_processes 1; #全局生效
events {
worker_connections 1024; #在events部分中生效
}
http {
include mime.types ; #以下指令在http部分中生效
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server { #以下指令在http的server部分中生效
listen 80;
server_name localhost;
location / { #以下指令在http/server的location中生效
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location - /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
通過(guò)上面的配置文件內(nèi)容分卸奉,我們可以總結(jié)出以下nginx.conf的基本結(jié)構(gòu):
... #全局快
events #events塊
{
...
}
http #http塊
{
... #http全局塊
server #server塊
{
... #server全局塊
location [PATTERN] #location塊
{
...
}
location [PATTERN] #location塊
{
...
}
}
server #server塊
{
...
}
... #http塊
}
最外層的花括號(hào)將內(nèi)容整體分為兩部分慰毅,再加上最開(kāi)始的內(nèi)容德撬,即第一行省略號(hào)表示的nginx.conf一共由三部分組成,分為全局塊固歪,events塊和http塊蒜鸡。在http塊中,又包含http全局塊牢裳,多個(gè)server塊逢防。每個(gè)server塊中,可以包含server全局塊和多個(gè)location塊蒲讯。在同一塊配置中嵌套的配置塊忘朝,各個(gè)之間不存在次序關(guān)系。
2 nginx詳細(xì)配置信息
以下是一個(gè)nginx的完整配置文件
#################### 全局塊 開(kāi)始 ####################
#配置允許運(yùn)行nginx服務(wù)器的用戶(hù)和用戶(hù)組
user root root;
#配置允許nginx進(jìn)程生成的worker processes數(shù)
worker processes 3;
#配置允許nginx服務(wù)器運(yùn)行對(duì)錯(cuò)誤日志存放路徑
error_log logs/error.log;
#配置nginx服務(wù)器運(yùn)行時(shí)的pid文件存放路徑和名稱(chēng)
pid nginx.pid;
#################### 全局塊 結(jié)束 ####################
#################### server塊 開(kāi)始 ####################
events
{
#配置事件驅(qū)動(dòng)模型
use epoll;
#配置最大連接數(shù)
worker_connections 1024;
}
#################### server塊 結(jié)束 ####################
#################### http塊 開(kāi)始 ####################
http
{
# 定義MIME-Type
include mime.types;
default_type application/octet-stream;
#配置允許使用sendfile方式傳輸
sendfile on;
#配置連接超時(shí)時(shí)間
keepalive_timeout 65;
#配置請(qǐng)求處理日志的格式
log_format access.log;
'$remote_addr - [$time_local]-"$request"-"$http_user_agent"';
#################### server塊 開(kāi)始 ####################
#配置虛擬主機(jī)myServer1
server {
#配置監(jiān)聽(tīng)端口和主機(jī)名稱(chēng)(基于名稱(chēng))
listen 8081;
server_name myServer1;
#配置請(qǐng)求處理日志存放路徑
access_log /myweb/server1/log/access.log;
#配置錯(cuò)誤頁(yè)面
error_page 404 /404.html;
#配置處理/server1/location1請(qǐng)求的location
location /server/location1 {
root /myweb;
index index.svrl-locl.htm;
}
#配置處理/server1/location2請(qǐng)求的location
location /server1/location2 {
root /myweb;
index index.svrl-loc2.htm;
}
}
#配置虛擬主機(jī)myServer2
server {
listen 8082;
server_name 192.168.1.3;
access_log /myweb/server1/log/access.log;
#對(duì)錯(cuò)誤頁(yè)面404.html做了定向配置
error_page 404 /404.html;
location /server2/location1 {
root /myweb;
index index.svr2-locl.htm;W
}
location /svr2/loc2 {
#對(duì)location的URL進(jìn)行更改
alias /myweb/server2/location2/;
index index.svr2-loc2.htm;
}
#配置錯(cuò)誤頁(yè)面轉(zhuǎn)向
location = /404.html {
root /myweb/;
index 404.html;
}
}
#################### server塊 結(jié)束 ####################
}
#################### http塊 結(jié)束 ####################