Nginx配置與優化

一、安裝Nginx

    安裝參考文檔:https://blog.csdn.net/t8116189520/article/details/81909574

 

二、運行模式:master-worker工作模式(多進程模式)

    master進程:主要用來管理worker進程,包含:接收來自外界的信號,向各worker進程發送信號,監控worker進程的運行狀態,當worker進程退出後(異常情況下),會自動重新啓動新的worker進程
    worker
進程:工作進程,用來處理請求

 

三、熱部署(./nginx -s reload)一、安裝Nginx

    執行命令時,我們是啓動一個新的nginx進程,而新的nginx進程在解析到reload參數後,就知道我們的目的是控制nginx來重新加載配置文件了,它會向master進程發送信號,master進程在接到信號後,向所有老的worker進程發送信號,告訴他們可以光榮退休了。新的worker在啓動後,就開始接收新的請求,而老的worker在收到來自master的信號後,就不再接收新的請求,並且在當前進程中的所有未處理完的請求處理完成後,再退出

 

四、正向代理

    客戶端非常明確要訪問的服務器地址
    服務器只清楚請求來自哪個代理服務器,而不清楚來自哪個具體的客戶端
    正向代理模式隱藏了真實客戶端信息

 

五、反向代理

    將請求按照一定的規則分發給後端的業務處理服務器
    請求的來源也就是客戶端是明確的,但是請求具體由哪臺服務器處理的並不明確了
    反向代理隱藏了服務器的信息
    

案例:
    沒配置反向代理之前:
    

        配置反向代理:

location / {
            #root   html;
            index  index.html index.htm;  #web站點主頁
            #限制請求
			#limit_req zone=myRateLimit burst=5 nodelay;
            #限制IP併發
			#limit_conn perip 10;
            #limit_conn perserver 100;
	    #proxy_pass http://192.168.231.128:8080;
	    proxy_pass http://tomcats; #配置反向代理,負載均衡
        }

        location /goodsservice {
            #root   html;
            index  index.html index.htm;  #web站點主頁
            #限制請求
			#limit_req zone=myRateLimit burst=5 nodelay;
            #限制IP併發
			#limit_conn perip 10;
            #limit_conn perserver 100;
	    #proxy_pass http://192.168.231.128:8080;
	    proxy_pass http://goodsservice; #配置反向代理,負載均衡
        }

 

六、負載均衡規則

    weight輪詢(默認):接收到的請求按照順序逐一分配到不同的後端服務器,即使在使用過程中,某一臺後端服務器宕機,nginx會自動將該服務器剔除出隊列,請求受理情況不會受到任何影響。 這種方式下,可以給不同的後端服務器設置一個權重值(weight),用於調整不同的服務器上請求的分配率;權重數據越大,被分配到請求的機率越大;該權重值,主要是針對實際工作環境中不同的後端服務器硬件配置進行調整的。

    ip_hash:每個請求按照發起客戶端的iphash結果進行匹配,這樣的算法下一個固定ip地址的客戶端總會訪問到同一個後端服務器,這也在一定程度上解決了集羣部署環境下session共享的問題。

    fair:智能調整調度算法,動態的根據後端服務器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的服務器分配到請求的概率高,響應時間長處理效率低的服務器分配到的請求少;結合了前兩者的優點的一種調度算法。但是需要注意的是nginx默認不支持fair算法,如果要使用這種調度算法,請安裝upstream_fair模塊

    url_hash:按照訪問的urlhash結果分配請求,每個請求的url會指向後端固定的某個服務器,可以在nginx作爲靜態服務器的情況下提高緩存效率。同樣要注意nginx默認不支持這種調度算法,要使用的話需要安裝nginxhash軟件包

 

七、Nginx配置


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章