Nginx web服務器簡介nginx
Nginx ("engine x") 是一個高性能HTTP 和 反向代理 服務器、IMAP、POP三、SMTP 服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發佈於2004年10月4日。其將源代碼以類BSD許可證的形式發佈,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。c++
Nginx處理請求過程web
1.nginx 程序開啓以後 ,nginx 命令啓動給nginx 程序發送啓動信號,nginx 會開啓master進程,由master讀取配 置文件決定開啓幾個worker進程。瀏覽器
2.每一個worker進程都是從Master進程fork生成出來,在Master進程裏面,創建好須要listen 80端口的socket鏈接 (listenfd)以後,會fork出多個worker進程。服務器
3.全部worker進程的listenfd會在被鏈接或者被請求到來時變得可讀可鏈接,爲保證只有一個進程處理該鏈接,全部 worker進程在註冊listenfd讀事件連接前搶accept_mutex「令牌」,搶到互斥鎖「令牌」的那個進程註冊listenfd讀事件 連接,在讀事件裏調用accept信號接受該鏈接。socket
4.當一個worker進程在accept信號這個鏈接以後,就開始讀取請求、解析請求、處理請求,產生數據後,再返回給客戶 端,最後才斷開鏈接,這樣造成一個完整的請求流程性能
Nginx管理命令:測試
/usr/local/nginx/sbin/nginx 啓動nginx代理
/usr/local/nginx/sbin/nginx -t 檢測nginx配置文件是否正確htm
/usr/local/nginx/sbin/nginx -s stop 關閉nginx
/usr/local/nginx/sbin/nginx -s reload 平滑啓動nginx(在nginx服務不中止的狀況下從新加載nginx配置文件)
Nginx 安裝配置
(1)下載 Nginx 源碼包
cd /usr/src
wget -c nginx.org/download/nginx-1.14.0.tar.gz
(2)解壓 Nginx 源碼包
tar xf nginx-1.14.0.tar.gz
(3)進入 Nginx 源碼包解壓目錄;建立 www 用戶
cd nginx-1.14.0
useradd www
(4)安裝 pcre 庫 openssl 庫 gcc 編譯器
yum install pcre-devel pcre openssl-devel gcc-c++ -y
(5)預編譯 Nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
(6)make 編譯
make
(7)make install 安裝
make install
到此Nginx web服務器已經安裝完成
----------------------------------------------------------------------------------------------------------------------------------
啓動 Nginx
/usr/local/nginx/sbin/nginx
查看 Nginx進程是否已啓動
臨時關閉SELinux
setenforce 0
關閉firewalld防火牆(也能夠寫防火牆容許80端口經過規則)
systemclt stop firewalld
經過瀏覽器訪問Nginx默認測試頁