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