nginx在啟動后,在unix系統中會以daemon的方式在后臺運行,后臺進程包含一個master進程和多個worker進程。主進程用來獲取配置和管理worker進程。worker進程處理http請求,worker進程的數目在nginx.conf 中定義,并且數目應該設置為和可用核數相等。
默認情況下, nginx 的配置文件可能保存在/etc/nginx, /usr/local/nginx/conf 或者/usr/local/etc/nginx 路徑下。
開啟,系統,和重新加載配置
通常使用nginx -s 選項來管理nginx,其中參數意義為:
nginx -s *signal*
- stop — fast shutdown
- quit — graceful shutdown
- reload — reloading the configuration file
- reopen — reopening the log files
也可以通過kill命令來給nginx 發送信號,達到同樣的目的,假設nginx 的進程id為1628 ,那么也可以這樣退出nginx。
kill -s QUIT 1628
配置文件結構
Nginx 由配置文件指定開啟的模塊組成,nginx 的配置目錄由簡單目錄和段目錄組成,簡單目錄下的配置文件中參數和參數名字用空格分隔,并且以逗號結尾。而段目錄中的配置文件使用分號結尾,并且每段有大括號({ })分隔。每一段中可以包含子段,例如:events, http,server,location。沒有包含在段落中的配置段將會被認為是全局生效的。
配置靜態資源
一個簡單的配置實例,對于一個web server, 提供兩類靜態資源服務,一個是靜態的HTML服務,一個圖片服務。
- 創建兩個目錄 /data/www 放置html文件,目錄/data/images 放置圖片文件。
- 修改配置文件,通過location來區別兩種類型的請求,使其去到不同的存儲路徑。
server {
location / {
proxy_pass http://localhost:8080;
}
location /images/ {
root /data;
}
}
也可以修改成如下形式,圖片文件去到圖片路徑 :
location ~ \.(gif|jpg|png)$ {
root /data/images;
}