一、背景
之前測驗的專案前后端的"路由"(負責把前端發過來的請求轉發到相應的后端服務上)要用Nignx來取代原來的tomcat的http server功能,做這個替換的原因是Nignx輕量級,抗并發,處理靜態檔案好,
Nignx常用做靜態內容服務和代理服務器,直接外來請求轉發給后面的應用服務器(tomcat,Django等),tomcat更多用來做一個應用容器,讓java web app泡在里面的東西,
嚴格意義上來講,Nignx應該叫做HTTP Server,而tomcat是一個Application Server是一個Servlet/JSO應用的容器,
客戶端通過HTTP Server(Nignx)訪問服務器上存盤的資源(HTML檔案,圖片檔案等),HTTP Server(Nignx)只是把服務器上的檔案通過HTTP協議傳輸給客戶端,
應用服務器(tomcat)往往是運行在HTTP Server(Nignx)的背后,執行應用,將動態的內容轉化為靜態的內容之后,通過HTTP Server(Nignx)分發到客戶端,
請求的流轉程序概圖:

注意:nginx只是把請求做了分發,不做處理!!!
二、Nginx環境搭建
1、下載

2、解壓
# tar -xzf nginx-1.16.1.tar.gz3、安裝依賴的基礎組件
因為nginx默認會依賴一些基礎組件,這些依賴組件主要有g++,gcc, openssl-devel, pcre-devel和zlib-devel,所以在正式安裝nginx前最好先安裝好這些組件,可以使用yum一次性安裝,運行以下命令:
# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel4、進入安裝包目錄、編譯安裝
# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35# make# make install
5、查看nginx版本
# nginx -v
顯示版本號,說明安裝成功
三、使用
1、組態檔
Nginx的組態檔默認為nginx.conf,我這里通過新建了一個conf.d檔案夾和.conf檔案(.conf檔案具體的內容參考nginx.conf)來完成配置,具體如下:

upstream模塊要負責負載均衡的配置,通過默認的輪詢調度方式來分發請求到后端服務器
-- max_fails:表示失敗最大次數,超過失敗最大次數暫停服務
-- fail_timeout:表示如果請求受理失敗,暫停指定的時間之后重新發起請求
2、Nginx的啟動
直接輸入nginx命令,即可啟動
# nginx還可以通過systemctl來啟動nginx
# systemctl start nginx3、Nginx的停止
nginx的停止有兩種方式,分別是1. nginx -s stop命令2. kill -9 nginx_pid命令 # nginx_pid指的是主行程的pid號同理,也可以通過systemctl來停止nginx
# systemctl stop nginx需要說明的是,使用systemctl命令結束nginx行程時,只有通過systemctl啟動的nginx才能被正常結束,而通過運行nginx命令啟動的行程是不能被正常結束的,
使用kill命令來結束nginx行程,結束nginx行程的信號有兩個,分別是TERM和QUIT:
# kill -s QUIT nginx_pid
# kill -s TERM nginx_pid前者(QUIT)用于快速停止nginx,后者(TERM)用于平緩停止nginx,區別在于平緩停止nginx會等待作業行程將請求結束以后再停止,
4、Nginx的組態檔多載
nginx的組態檔多載,這也是一個很重要的功能,因為很多時候需要修改nginx的組態檔,修改完成后需要重新加載組態檔,方法有2個
1. nginx -s reload
2. kill -s HUP nginx_pid命令
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/32411.html
標籤:架構設計
下一篇:日志審計系統設計
