Nginx 官方入門文件筆記 - jenhaoyang/backend_blog GitHub Wiki
一個master process:處理設定檔、管理worker processes
多個worker processes:處理request,可以在設定檔調整
設定檔位置:/usr/local/nginx/conf 或是 /etc/nginx 或是 /usr/local/etc/nginx
控制nginx: nginx -s signal
signal 有下列幾種
- stop:強制停止
- quit:緩和停止
- reload: 再次讀取設定檔
- reopen:再次打開log files
設定檔
simple directive:一個指令和參數並以;結尾
block directives:以大括號{ } 包住一組指令,如果block directives裡面還有用大括號包住的指令,這些指令叫做context
指令放在任何contexts 以外的地方就稱為放在main context,例如events 和http放在main context, server 在 http裡面, location在server裡面
靜態網頁內容
下面範例依照進來的request來提供在/data/www底下的HTML檔案,或是在/data/images底下的圖片檔,我們將會用到 http block, 裡面包含 server block 和 location block。
- 在/data/www放index.html檔
- 在/data/images放一些圖片
- 打開設定檔,通常設定檔裡會有多個 server blocks,並且以監聽的port和server name來區分來區隔,例如:
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
4.一旦nginx確定哪一台server處理這個request,他就會開始依照 location 指令來指定URI,下面範例指定"/"到 "/data/www",如果有多個開頭相似的location,nginx選擇最長的那個 將以下location指令增加到我們自己建立的server block
location / {
root /data/www;
}
5.增加第二個location到server block
location /images/ {
root /data;
}
以下為一個運行的config檔,我們可以連到本機的80port,http://localhost:80/就會出現我們的index.html,如果我們連到http://localhost/images/example.png ,就會出現放在/data/images底下的example.png
events {} #先加上去不然會報錯誤
http {
server {
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
}