
文章插圖
啟動
啟動代碼格式:nginx安裝目錄地址 -c nginx配置文件地址
例如:
[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止
nginx的停止有三種方式:
從容停止
1、查看進程號
[root@LinuxServer ~]# ps -ef|grep nginx
2、殺死進程
[root@LinuxServer ~]# kill -QUIT 2072快速停止
1、查看進程號
[root@LinuxServer ~]# ps -ef|grep nginx2、殺死進程
[root@LinuxServer ~]# kill -TERM 2132或 [root@LinuxServer ~]# kill -INT 2132強制停止
[root@LinuxServer ~]# pkill -9 nginx
重啟
1、驗證nginx配置文件是否正確
方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t
看到如下顯示nginx.conf syntax is ok
nginx.conf test is successful
說明配置文件正確!
方法二:在啟動命令-c前加-t
2、重啟Nginx服務(wù)
方法一:進入nginx可執(zhí)行目錄sbin下,輸入命令./nginx -s reload 即可
方法二:查找當前nginx進程號,然后輸入命令:kill -HUP 進程號 實現(xiàn)重啟nginx服務(wù)
Nginx 的整體架構(gòu)Nginx 里有一個 master 進程和多個 worker 進程 。master 進程并不處理網(wǎng)絡(luò)請求,主要負責調(diào)度工作進程:加載配置、啟動工作進程及非停升級 。worker 進程負責處理網(wǎng)絡(luò)請求與響應(yīng) 。
master進程主要用來管理worker進程,具體包括如下4個主要功能:
接收來自外界的信號 。
向各worker進程發(fā)送信號 。
監(jiān)控woker進程的運行狀態(tài) 。
當woker進程退出后(異常情況下),會自動重新啟動新的woker進程 。
woker進程主要用來處理基本的網(wǎng)絡(luò)事件:
多個worker進程之間是對等且相互獨立的,他們同等競爭來自客戶端的請求 。
一個請求,只可能在一個worker進程中處理,一個worker進程,不可能處理其它進程的請求 。
worker進程的個數(shù)是可以設(shè)置的,一般我們會設(shè)置與機器cpu核數(shù)一致 。同時,nginx為了更好的利用多核特性,具有cpu綁定選項,我們可以將某一個進程綁定在某一個核上,這樣就不會因為進程的切換帶來cache的失效 。
Ngnix 是如何實現(xiàn)高性能的?
事件驅(qū)動模型
基于異步及非阻塞的事件驅(qū)動模型,可以說是 Nginx 得以獲得高并發(fā)、高性能的關(guān)鍵因素 。這一點上和 Netty 類似,底層都是使用的 BSD kqueue、Linux epoll 及 Solaris event ports 。
多進程機制
使用多進程的好處有兩點:
進程之間不共享資源,不需要加鎖,減少了使用鎖對性能造成的影響,同時降低編程的復雜度,降低開發(fā)成本 。
采用獨立的進程,可以讓進程互相之間不會影響,如果一個進程發(fā)生異常退出時,其它進程正常工作,master 進程則很快啟動新的 worker 進程,確保服務(wù)不會中斷,從而將風險降到最低 。
內(nèi)存池
為了避免出現(xiàn)內(nèi)存碎片,減少向操作系統(tǒng)申請內(nèi)存的次數(shù)、降低各個模塊的開發(fā)復雜度,Nginx 設(shè)計了簡單的內(nèi)存池,它的作用主要是把多次向系統(tǒng)申請內(nèi)存的操作整合成一次,這大大減少了 CPU 資源的消耗,同時減少了內(nèi)存碎片 。
模塊化設(shè)計
高度模塊化的設(shè)計是 Nginx 的架構(gòu)基礎(chǔ) 。Openresty 就是在 Nginx 上引入了 lua 等第三方模塊,使得擴展更加方便了 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- linux搭建python環(huán)境 linux下安裝python模塊
- 2022天津疫情什么時候開始的 2022天津疫情什么時候能結(jié)束
- linux系統(tǒng)安裝步驟 yum安裝命令
- 講解linux清空某目錄內(nèi)文件 linux清空文件內(nèi)容
- linux普通用戶修改root密碼 linux修改root密碼命令
- 武漢知音號演出幾點開始幾點結(jié)束
- 解壓rar包命令詳細解釋 linux如何解壓rar文件壓縮包
- 《愛情公寓5》結(jié)束了,回頭想想你認為愛情公寓幾最好看?
- linux服務(wù)器清理緩存方法 linux清緩存怎么清理
- linux聯(lián)網(wǎng)設(shè)置方法 linux怎么上網(wǎng)搜索
