什麼是Nginx?
Nginx 是一款高性能的 http 服務器/反向代理服務器及電子郵件反向代理服務器。將請求轉發到指定服務器上,降低服務的透明度。
Nginx工作原理?
Nginx是多進程的工作模式,Nginx 在啓動後,會有一個 master 進程和多個相互獨立的 worker 進程。
- work進程處理客戶端連接
- master進程監控work進程的運行狀態
不知道小夥伴有沒有這個疑問,Nginx不是一個程序嗎,那爲什麼Nginx還是多進程的,而不是多線程的?
剛開始我也是這樣認爲的,因爲剛接觸線程的時候,就被告知進程就是運行在電腦上的一個程序,那麼Nginx也應該是一個進程,爲啥還有什麼master/work進程,實際上master/work進程啓動的,Nginx使用這個兩類進程組成的,如圖所示,linux中存在master和work,而work進程的數目是由配置文件決定的,在後續中會說明。
Nginx爲什麼能處理高併發
在linux中Nginx採用的是最高效的epoll的NIO方式處理連接的,不會隨着請求的連接增多而導致性能下降