1.linux 核心2.6及以上版本:
只有2.6之後才支援epool ,在此之前使用select或pool多路復用的io模型,無法解決高併發壓力的問題。通過命令uname -a 即可檢視。
#檢視 linux 核心
uname -a
#yum 安裝nginx 環境
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
wget
解壓
tar -zxvf nginx-1.14.0.tar.gz
解壓後就能看到同目錄下出現nginx資料夾
但是這只是一堆源**,並不是可執行檔案
基於引數構建
cd進到nginx目錄進行構建,進行環境的初始化,將相關的源**編譯到obj目錄下,核心模組的源**都在這裡邊
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-debug
但構建完成後也只是一堆源**,並不是可執行檔案,再執行make && make install命令就生成了可執行檔案了
make && make install
然後就能看到/usr/local/資料夾下看見已經構建好的nginx
進到nginx進行啟動
./sbin/nginx
啟動後在瀏覽器輸入虛擬機器ip就能訪問到nginx主頁
#預設方式啟動:
./sbin/nginx
#指定配置檔案啟動
./sbing/nginx -c /tmp/nginx.conf
#指定nginx程式目錄啟動
./sbin/nginx -p /usr/local/nginx/
#快速停止
./sbin/nginx -s stop
#優雅停止
./sbin/nginx -s quit
#熱裝載配置檔案
./sbin/nginx -s reload
#重新開啟日誌檔案
./sbin/nginx -s reopen
nginx 架構圖:
架構說明:
1)nginx啟動時,會生成兩種型別的程序,乙個是主程序(master),乙個(windows版本的目前只有乙個)和多個工作程序(worker)。主程序並不處理網路請求,主要負責排程工作程序,也就是圖示的三項:載入配置、啟動工作程序及非停公升級。所以,nginx啟動以後,檢視作業系統的程序列表,我們就能看到至少有兩個nginx程序。
2)伺服器實際處理網路請求及響應的是工作程序(worker),在類unix系統上,nginx可以配置多個worker,而每個worker程序都可以同時處理數以千計的網路請求。
3)模組化設計。nginx的worker,包括核心和功能性模組,核心模組負責維持乙個執行迴圈(run-loop),執行網路請求處理的不同階段的模組功能,如網路讀寫、儲存讀寫、內容傳輸、外出過濾,以及將請求發往上游伺服器等。而其**的模組化設計,也使得我們可以根據需要對功能模組進行適當的選擇和修改,編譯成具有特定功能的伺服器。
4)事件驅動、非同步及非阻塞,可以說是nginx得以獲得高併發、高效能的關鍵因素,同時也得益於對linux、solaris及類bsd等作業系統核心中事件通知及i/o效能增強功能的採用,如kqueue、epoll及event ports。
nginx 核心模組:
nginx架構說明(三)
2.1 nginx啟動時,會生 不處理網路請求,主要負責排程工作程序,也就是圖示的三項 載入配置 啟動工作程序及非停公升級。所以,nginx啟動以後,檢視作業系統的程序列表,我們就能看到至少有兩個nginx程序。2.2 伺服器實際處理網路請求及響應的是工作程序 worker 在類unix系統上,ng...
Nginx 架構說明 配置使用實踐
nginx 安裝 nginx 架構說明 nginx實踐 略nginx 架構圖 架構說明 1 nginx啟動時,會生 不處理網路請求,主要負責排程工作程序,也就是圖示的三項 載入配置 啟動工作程序及非停公升級。所以,nginx啟動以後,檢視作業系統的程序列表,我們就能看到至少有兩個nginx程序。2 ...
LNMP架構 安裝Nginx 1 12 2
root dl 001 cd usr local src root dl 001 src wget 2017 12 24 22 22 26 2.tar.gz 正在解析主機 nginx.org nginx.org 206.251 255 63,95.211 80.227,2606 7100 1 69 ...