Nginx功能非常強大,僅僅是通過主配置檔案nginx.conf的使用就可以展現出來,為了友善學習和查漏,将其主配置檔案的完整内容列出來,并加上個人的一些了解以作為筆記,進而去加深記憶。
1.Nginx主配置檔案與說明
如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<code>#user nobody;</code>
<code># ====================================Main區==================================== #</code>
<code># Main區為Nginx核心功能子產品</code>
<code>worker_processes 1; </code><code># worker程序的數量</code>
<code>#error_log logs/error.log; # Nginx錯誤日志配</code>
<code>#error_log logs/error.log notice; # notice, info為錯誤日志級别</code>
<code>#error_log logs/error.log info; # 一般使用warn|error|crit這三個級别</code>
<code>#pid logs/nginx.pid;</code>
<code># ====================================events區==================================== #</code>
<code># events區為Nginx核心功能子產品</code>
<code>events {</code>
<code> </code><code>worker_connections 1024; </code><code># 每個worker程序支援的最大連接配接數</code>
<code>}</code>
<code># ====================================HTTP區==================================== #</code>
<code># http區為Nginx核心功能子產品</code>
<code>http {</code>
<code> </code><code>include mime.types; </code><code># Nginx支援的媒體類型庫檔案</code>
<code> </code><code>default_type application</code><code>/octet-stream</code><code>; </code><code># 預設的媒體類型</code>
<code> </code><code># =========通路日志配置======== #</code>
<code> </code><code># 開始這三行為日志格式</code>
<code> </code><code>#log_format main '$remote_addr - $remote_user [$time_local] "$request" '</code>
<code> </code><code># '$status $body_bytes_sent "$http_referer" '</code>
<code> </code><code># '"$http_user_agent" "$http_x_forwarded_for"';</code>
<code> </code>
<code> </code><code># 這一行為記錄日志的參數,第一個參數為關鍵字參數,第二個為日志目錄,第三個為使用的日志格式</code>
<code> </code><code>#access_log logs/access.log main;</code>
<code> </code><code>sendfile on; </code><code># 開啟高效傳輸模式</code>
<code> </code><code>#tcp_nopush on;</code>
<code> </code><code>#keepalive_timeout 0;</code>
<code> </code><code>keepalive_timeout 65; </code><code># 連接配接逾時時間</code>
<code> </code><code>#gzip on;</code>
<code> </code><code>server { </code><code># server區塊,表示一個獨立的虛拟主機站點</code>
<code> </code><code>listen 80; </code><code># 提供服務的端口</code>
<code> </code><code>server_name localhost; </code><code># 提供服務的域名主機名</code>
<code> </code><code>#charset koi8-r;</code>
<code> </code><code>#access_log logs/host.access.log main;</code>
<code> </code><code>location / { </code><code># location區塊</code>
<code> </code><code>root html; </code><code># 站點的根目錄,相當于Nginx的安裝目錄</code>
<code> </code><code>index index.html index.htm; </code><code># 預設的首頁檔案,多個用空格分開</code>
<code> </code><code>}</code>
<code> </code><code># [擴充功能1:實作Nginx status] #</code>
<code> </code><code>##status</code>
<code>server{</code>
<code> </code><code>listen 80;</code>
<code> </code><code>server_name status.etiantian.org;</code>
<code> </code><code>location / {</code>
<code> </code><code>stub_status on;</code>
<code> </code><code>access_log off;</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>#error_page 404 /404.html;</code>
<code> </code><code># redirect server error pages to the static page /50x.html</code>
<code> </code><code>#</code>
<code> </code><code>error_page 500 502 503 504 </code><code>/50x</code><code>.html; </code><code># 出現對應的http狀态碼時,使用50x.html回應客戶</code>
<code> </code><code>location = </code><code>/50x</code><code>.html { </code><code># location區塊,通路50x.html</code>
<code> </code><code>root html; </code><code># 指定對應的站點目錄為html</code>
<code> </code><code># proxy the PHP scripts to Apache listening on 127.0.0.1:80</code>
<code> </code><code>#location ~ \.php$ {</code>
<code> </code><code># proxy_pass http://127.0.0.1;</code>
<code> </code><code>#}</code>
<code> </code><code># pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000</code>
<code> </code><code># root html;</code>
<code> </code><code># fastcgi_pass 127.0.0.1:9000;</code>
<code> </code><code># fastcgi_index index.php;</code>
<code> </code><code># fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;</code>
<code> </code><code># include fastcgi_params;</code>
<code> </code><code># deny access to .htaccess files, if Apache's document root</code>
<code> </code><code># concurs with nginx's one</code>
<code> </code><code>#location ~ /\.ht {</code>
<code> </code><code># deny all;</code>
<code> </code><code># another virtual host using mix of IP-, name-, and port-based configuration</code>
<code> </code><code>#</code>
<code> </code><code>#server {</code>
<code> </code><code># listen 8000;</code>
<code> </code><code># listen somename:8080;</code>
<code> </code><code># server_name somename alias another.alias;</code>
<code> </code><code># location / {</code>
<code> </code><code># root html;</code>
<code> </code><code># index index.html index.htm;</code>
<code> </code><code># }</code>
<code> </code><code>#}</code>
<code> </code><code># HTTPS server</code>
<code> </code><code># listen 443 ssl;</code>
<code> </code><code># server_name localhost;</code>
<code> </code><code># ssl_certificate cert.pem;</code>
<code> </code><code># ssl_certificate_key cert.key;</code>
<code> </code><code># ssl_session_cache shared:SSL:1m;</code>
<code> </code><code># ssl_session_timeout 5m;</code>
<code> </code><code># ssl_ciphers HIGH:!aNULL:!MD5;</code>
<code> </code><code># ssl_prefer_server_ciphers on;</code>
2.下一步要做什麼
持續更新本博文,并在用中加深學習和了解。
本文轉自 xpleaf 51CTO部落格,原文連結:http://blog.51cto.com/xpleaf/1901503,如需轉載請自行聯系原作者