摘要:于年發(fā)布,聚焦于高性能,高并發(fā)和低內(nèi)存消耗問題。二服務(wù)的啟??刂圃谥v解配置文件參數(shù)前,讓我們先來了解一下的啟停操作吧。在講解配置項之前,讓我們先了解一下各個塊的作用。配置最大連接數(shù)設(shè)置允許每個同時開啟的最大連接數(shù),默認(rèn)值。
一、nginx簡介、
??nginx(發(fā)音"engine x")是俄羅斯軟件工程師Igor Sysoev開發(fā)的免費開源web服務(wù)器軟件。nginx于2004年發(fā)布,聚焦于高性能,高并發(fā)和低內(nèi)存消耗問題。并且具有多種web服務(wù)器功能特性:負(fù)載均衡,緩存,訪問控制,帶寬控制,以及高效整合各種應(yīng)用的能力,這些特性使nginx很適合于現(xiàn)代網(wǎng)站架構(gòu)。目前,nginx已經(jīng)是互聯(lián)網(wǎng)上第二流行的開源web服務(wù)器軟件。
??三大服務(wù)器對比如圖所示:
??總體來說,nginx服務(wù)器將會是今后web server的主流服務(wù)器。
二、nginx服務(wù)的啟停控制??在講解nginx配置文件參數(shù)前,讓我們先來了解一下nginx的啟停操作吧。在Linux平臺下,控制nginx服務(wù)的啟??刹恢褂幸环N方法。
??在nginx服務(wù)器運行時,會保持著一個主進(jìn)程和多個work process工作進(jìn)程,如圖所示:
??我們通過給主進(jìn)程發(fā)送信號就可以控制服務(wù)的啟停了,那么如何給主進(jìn)程發(fā)送信號呢,首先需要知道主進(jìn)程號的PID,獲取PID有兩種途徑,通過ps命令就可以看到主進(jìn)程號PID了,圖中的8029就是PID;也可以通過nginx安裝目錄下log中的nginx.pid, Mac下在/usr/local/var/run/nginx.pid中,如圖所示:
1、nginx可接收的符號有
TERM 或 INT——快速停止nginx服務(wù)
QUIT——平緩?fù)V筺ginx服務(wù)
HUP——使用新的配置文件啟動進(jìn)程,之后平緩?fù)V乖羞M(jìn)程,又叫平滑重啟
USER1——重新打開日志,常用于日志切割
USER2——使用新版本nginx,又叫平滑升級
WINCH——平緩?fù)V箇ork process,用于nginx服務(wù)器平滑升級
2、nginx啟動參數(shù):
-c:配置文件
-t:檢查語法錯誤
-p:更改安裝路徑
-q:只顯示錯誤信息
3、nginx停止操作:
nginx -g TERM|INT|QUIT
或者
kill -9 | SIGKILL `~/log/nginx.pid`
重啟nginx:
nginx -g HUP [-c newconfigure]
4、升級nginx:
更改新安裝路徑
nginx -p newInstallPath
平滑升級
nginx -g USER2
平滑停止舊服務(wù)
nginx -g WINCH三、nginx配置參數(shù)詳解
??眾所周知,默認(rèn)的nginx配置文件都存放在安裝目錄的conf中,主配置文件名為nginx.conf,接下來我們會詳細(xì)介紹內(nèi)部的相關(guān)參數(shù)。
??先看下面的配置項:
worker_processes 1; #全局有效 events { worker_connections 1024; #events部分有效 } http { include mime.types; #http部分有效 default_type applicaiotion/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; #http的server部分有效 location / { #http/server的location部分有效 root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
??由上段代碼可以看出,nginx.conf由三部分組成,全局塊、events塊和http塊。每個http塊又由http全局塊、多個server塊構(gòu)成。而每個server塊又包含多個server塊和多個location塊。
??在講解配置項之前,讓我們先了解一下各個塊的作用。
1、全局塊:主要影響nginx服務(wù)器整體運行的配置指令,通常的配置有nginx用戶(組),work process數(shù),進(jìn)程、日志文件存放路徑以及配置文件引入等等。
2、events塊:主要影響nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接,通常的配置有開啟對多work process下的網(wǎng)絡(luò)連接進(jìn)行序列化,是否允許同時接收多個網(wǎng)絡(luò)連接,每個work process同時支持的最大連接數(shù)等等。
3、http塊:nginx配置核心部分,代理、緩存和日志定義都放在這個模塊中,通常的配置有文件引入,mime-type定義,連接超時時間等等。
4、server塊:相當(dāng)于一臺虛擬主機(jī),通常的配置是虛擬主機(jī)的監(jiān)聽配置、名稱和IP配置。
5、location塊:相當(dāng)于server的一個指令,主要作用是基于nginx服務(wù)器接收到的請求字符串進(jìn)行匹配,對特定請求進(jìn)行處理,通常的配置有地址定向、數(shù)據(jù)緩存和應(yīng)答控制等等。
常用配置詳解:
配置work process數(shù):nginx服務(wù)器實現(xiàn)并發(fā)處理服務(wù)的關(guān)鍵,默認(rèn)為1
配置文件引入:include file; 可引入其他nginx配置或第三方配置到主配置文件中,支持相對路徑,引入的文件需要讀寫權(quán)限。
配置最大連接數(shù):work_connections設(shè)置允許每個work process同時開啟的最大連接數(shù),默認(rèn)值512。
配置連接超時時間:keepalive_timeout 默認(rèn)75s。
配置網(wǎng)絡(luò)監(jiān)聽:listen 可監(jiān)聽ip、端口和socket
listen 192.168.1.10:8000; #監(jiān)聽具體的ip和端口連接 listen 192.168.1.10; #監(jiān)聽具體ip的所有端口連接 listen 8000; #監(jiān)聽具體端口的所有IP連接,等同于listen *:8000
配置虛擬主機(jī)名稱:server_name 是指server塊對外提供的虛擬主機(jī),設(shè)置好主機(jī)的名稱和配置好DNS,就可以發(fā)送請求了。
配置location塊:匹配相關(guān)字符串
“=” 用于嚴(yán)格匹配 “~” 用于區(qū)分大小寫的正則表達(dá)式匹配 “~*” 用于不區(qū)分大小寫的正則表達(dá)式匹配 “^*” 用于匹配度最高的location匹配
配置網(wǎng)站默認(rèn)首頁:index file; file可以為多個文件名,依次進(jìn)行匹配,默認(rèn)為index.html
四、django框架下nginx和uwsgi搭建前提:已安裝django框架、nginx和uwsgi相關(guān)服務(wù)。
nginx相關(guān)配置如下:
uwsgi.py配置如下:
執(zhí)行:uwsgi --ini=uwsgi.ini
http://blog.csdn.net/hanhuili...
http://hai0378.iteye.com/blog...
http://blog.csdn.net/tjcyjd/a...
nginx高性能web服務(wù)器詳解(p22-p47)
http://www.runoob.com/django/...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39686.html
摘要:部署項目部署一個的開源框架。輪詢負(fù)載均衡在配置文件中添加如下配置,此配置有三臺服務(wù)器提供支付服務(wù)。缺省配置就是輪詢策略負(fù)載均衡支持和協(xié)議,只需要修改后面的協(xié)議即可支持的負(fù)載均衡只需將改為即可。 部署Django項目 Django+uWSGI+nginx 部署 django 一個pyhton的開源web框架。 uWSGI 一個基于自有的uwsgi協(xié)議、WSGI協(xié)議和http服務(wù)協(xié)議的w...
摘要:默認(rèn)情況下,它是。它也是一個安全度量,所以調(diào)整為你的應(yīng)用需要,而不是最大輸出。在運行的時候會把中的靜態(tài)文件拷貝到這個目錄中達(dá)到從開發(fā)環(huán)境到生產(chǎn)環(huán)節(jié)過程中移植靜態(tài)文件的作用。 本文由云+社區(qū)發(fā)表本文主要講述了如何一步步在生產(chǎn)環(huán)境上部署django和vue,操作系統(tǒng)默認(rèn)為centos 說明:后文中出現(xiàn)的以下字符串均表示具體的路徑或者名稱,含義如下: DJANGO_DIR----表示dj...
摘要:默認(rèn)情況下,它是。它也是一個安全度量,所以調(diào)整為你的應(yīng)用需要,而不是最大輸出。在運行的時候會把中的靜態(tài)文件拷貝到這個目錄中達(dá)到從開發(fā)環(huán)境到生產(chǎn)環(huán)節(jié)過程中移植靜態(tài)文件的作用。 本文由云+社區(qū)發(fā)表本文主要講述了如何一步步在生產(chǎn)環(huán)境上部署django和vue,操作系統(tǒng)默認(rèn)為centos 說明:后文中出現(xiàn)的以下字符串均表示具體的路徑或者名稱,含義如下: DJANGO_DIR----表示dj...
閱讀 2919·2023-04-25 18:46
閱讀 766·2021-11-19 09:40
閱讀 2135·2021-09-28 09:36
閱讀 3450·2021-09-10 11:11
閱讀 3538·2019-08-30 15:55
閱讀 1857·2019-08-30 15:54
閱讀 2648·2019-08-29 16:16
閱讀 3578·2019-08-29 15:08