nginx啟動以及基礎(chǔ)原理
nginx啟動
找到自動啟動的腳本文件 centos 目錄為 /etc/rc.d/rc.local 在末尾添加
nginx的啟動命令 (/usr/local/nginx/sbin/nginx) 其中/usr/local/為nginx的安裝目錄
基本原理
nginx在啟動后,在unix系統(tǒng)中會以daemon的方式在后臺運行,后臺進程包含一個master進程和多個worker進程。我們也可以手動地關(guān)掉后臺模式,讓nginx在前臺運行,并且通過配置讓nginx取消master進程,從而可以使nginx以單進程方式運行。很顯然,生產(chǎn)環(huán)境下我們肯定不會這么做,所以關(guān)閉后臺模式,一般是用來調(diào)試用的,在后面的章節(jié)里面,我們會詳細地講解如何調(diào)試nginx。所以,我們可以看到,nginx是以多進程的方式來工作的,當(dāng)然nginx也是支持多線程的方式的,只是我們主流的方式還是多進程的方式,也是nginx的默認方式。nginx采用多進程的方式有諸多好處。
nginx采用這種進程模型有什么好處呢?當(dāng)然,好處肯定會很多了。首先,對于每個worker進程來說,獨立的進程,不需要加鎖,所以省掉了鎖帶來的開銷,同時在編程以及問題查找時,也會方便很多。其次,采用獨立的進程,可以讓互相之間不會影響,一個進程退出后,其它進程還在工作,服務(wù)不會中斷,master進程則很快啟動新的worker進程。當(dāng)然,worker進程的異常退出,肯定是程序有bug了,異常退出,會導(dǎo)致當(dāng)前worker上的所有請求失敗,不過不會影響到所有請求,所以降低了風(fēng)險。當(dāng)然,好處還有很多,大家可以慢慢體會。
負載均衡
客戶端發(fā)送多個請求到服務(wù)器,服務(wù)器處理請求,有些可能要訪問數(shù)據(jù)庫,服務(wù)器處理完畢后再將結(jié)果返回客戶端。
這種架構(gòu)模式單一,適合并發(fā)請求少的情況,但并發(fā)量大的時候如何解決?
首先可能想到升級服務(wù)器配置,但硬件的性能提升不能滿足日益增長的需求,此時想到服務(wù)器集群,增加服務(wù)器數(shù)量,然后將原先請求單個服務(wù)器的情況改為將請求分發(fā)到多個服務(wù)器上,將負載分發(fā)到多個服務(wù)器上。
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科