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