日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux的Nginx五:进程|过程

發(fā)布時間:2024/9/19 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux的Nginx五:进程|过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

進程

master進程

Nginx在啟動后,會有一個master進程和多個worker進程。master進程主要用來管理worker進程,包含:接收來自外界的信號,向各worker進程發(fā)送信號,監(jiān)控 worker進程的運行狀態(tài),當worker進程退出后(異常情況下),會自動重新啟動新的worker進程。

worker進程

基本的網(wǎng)絡事件,則是放在worker進程中來處理了。多個worker進程之間是對等的,他們同等競爭來自客戶端的請求,各進程互相之間是獨立的。一個請求,只可能在一個worker進程中處理,一個worker進程,不可能處理其它進程的請求。worker進程的個數(shù)是可以設置的,一般我們會設置與機器CPU核數(shù)一致,這里面的原因與Nginx的進程模型以及事件處理模型是分不開的。
?

過程

1.啟動--Nginx在啟動時,會解析配置文件,得到需要監(jiān)聽的端口與IP地址,

2.初始化-然后在Nginx的master進程里面,先初始化好這個監(jiān)控的socket(創(chuàng)建socket,設置addrreuse等選項,綁定到指定的IP地址端口,再listen),

3.多進程--然后再fork(一個現(xiàn)有進程可以調用fork函數(shù)創(chuàng)建一個新進程。由fork創(chuàng)建的新進程被稱為子進程(work進程) )出多個子進程出來,然后子進程會競爭accept新的連接。?
4.連接--此時,客戶端就可以向Nginx發(fā)起連接了。當客戶端與Nginx進行三次握手,與Nginx建立好一個連接后,某一個子進程會accept成功,得到這個建立好的連接的socket,然后創(chuàng)建Nginx對連接的封裝,即ngx_connection_t結構體。?
5.交換--接著,設置讀寫事件處理函數(shù)并添加讀寫事件來與客戶端進行數(shù)據(jù)的交換。最后,Nginx或客戶端來主動關掉連接,到此,一個連接就壽終正寢了。

應用

在近期一些項目的開發(fā)過程中,主要是使用Nginx和Tomcat來搭建高性能負載均衡集群,

即使用Nginx的反向代理功能來實現(xiàn)請求的分發(fā),關于Nginx和Tomcat的組合使用,不在這里重復造輪子
?

總結

以上是生活随笔為你收集整理的Linux的Nginx五:进程|过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。