亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx生產(chǎn)環(huán)境平滑升級的實現(xiàn)

 更新時間:2023年03月06日 14:31:48   作者:愛在南信  
本文主要介紹了Nginx生產(chǎn)環(huán)境平滑升級的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.背景

最近遇到一個比較尷尬而又實際的問題,那就是我們生產(chǎn)環(huán)境使用的Nginx是Centos6的老古董。業(yè)務(wù)需求需要加載Nginx的一個模塊來實現(xiàn),但是版本太老了,需要Nginx1.18之后才能支持,而我們的是Nginx1.12。 那升級Nginx是我們要做的事情。但是在生產(chǎn)環(huán)境你要考慮的東西很多,不像測試服,Nginx停掉服務(wù),重新編譯新的版本再啟動。 我們線上的服務(wù)需要不間斷地提供服務(wù),否則會對業(yè)務(wù)產(chǎn)生經(jīng)濟損失. 那有什么方案能平滑升級Nginx版本呢?

二.升級方案

其實官方早就針對Nginx平滑升級做足了功夫,基本原理就是,啟動新的Nginx(master+worker)進程,之后給舊的master進程發(fā)送-USER2指令,這樣就能同時讓新版和舊版本進程同時接收處理請求。之后我們再發(fā)送-WINCH給舊進程,讓它停止工作服務(wù)(關(guān)閉所有舊worker進程,但是舊的master進程沒關(guān),防止后面你遇到問題回滾). 如果確認新Nginx沒問題,那么再手動Kill舊的master進程即可完成平滑升級.

三.操作流程

1.查看-舊版本【nginx 1.12.2】進程信息

[root@k8s-master nginx-1.12.2]# ps aux | grep 'nginx' | grep -v '7月' | grep -v 'grep'

root ????15180 ?0.0 ?0.0 ?46136 ??920 ? ???????Ss ??17:22 ??0:00 nginx: master process ./nginx-1.12.2/sbin/nginx

nobody ??15181 ?0.0 ?0.1 ?46584 ?4344 ? ???????S ???17:22 ??0:00 nginx: worker process

主要進程pid:  15180  worker進程15181

2. nginx -V查看舊版本nginx的編譯參數(shù)

[root@k8s-master nginx-1.12.2]# nginx-1.12.2/sbin/nginx.old.1.12 -V

nginx version: nginx/1.12.2

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

built with OpenSSL 1.0.2k-fips ?26 Jan 2017

TLS SNI support enabled

configure arguments: --prefix=nginx-1.12.2 --with-pcre=/root/nginx-test/pcre-8.45/ --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-stream

[root@k8s-master nginx-1.12.2]#

如果make或者./configure報錯,可以嘗試安裝:  yum install -y gcc-c++

3.備份舊版本二進制nginx程序,  mv nginx nginx.old

mv nginx nginx.old

4.此時我們下載【nginx1.20.2】新版本重新編譯,按照舊版本的編譯參數(shù)(或者自己新增編譯模塊)

5.拷貝新生成的二進制nginx, 移動到之前舊版本的nginx路徑覆蓋.

./configure --prefix=/usr/local/ --with-stream ?xxxx[模塊列表]

make

&make install

6.發(fā)送nginx -USR2 15180(舊版nginx主進程)進行替換,此時存在4個進程.  2個舊版nginx進程  2個新版nginx進程

此時請求經(jīng)過測試是負載均衡到這2個master上.

請求2次,第一次負載到新的master,第二次負載到舊的master.

7.確認升級成功,-WINCH 信號 停止舊版master接收新的請求(此時舊版本nginx master進程沒死,只是停止接收新的請求)

kill -winch 15180

舊版nginx只剩下master進程, 子進程不存在了.

此時多次訪問URL, 不會出現(xiàn)負載均衡的情況了.

沒有再出現(xiàn)hello world

8.若要回退版本也很簡單,發(fā)送 kill -HUP 15180(舊nginx master進程)即可

此時舊版和新版nginx都在負載均衡.  把新版本nginx master kill掉即可.

此時新版nginx已經(jīng)kill -QUIT 即可.

到此這篇關(guān)于Nginx生產(chǎn)環(huán)境平滑升級的實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx生產(chǎn)環(huán)境平滑升級內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx反向代理如何替換URL

    nginx反向代理如何替換URL

    這篇文章主要介紹了nginx反向代理如何替換URL問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 隱藏網(wǎng)站Nginx版本號信息的方法分享

    隱藏網(wǎng)站Nginx版本號信息的方法分享

    隱藏網(wǎng)站nginx服務(wù)的版本號信息,在安全的角度上來說,可以防止黑客快速利用nginx的版本漏洞進行攻擊,所以本文為大家整理了隱藏網(wǎng)站Nginx版本號信息的方法,希望對大家有所幫助
    2023-08-08
  • Nginx對某個目錄設(shè)置密碼保護例子

    Nginx對某個目錄設(shè)置密碼保護例子

    這篇文章主要介紹了Nginx對某個目錄設(shè)置密碼保護例子,使用htpasswd 生成用戶名和密碼,并解決了打開PHP文件變成文件下載的問題,需要的朋友可以參考下
    2014-06-06
  • Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法

    Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法

    本篇文章給大家分享使用Linux系統(tǒng)自帶的命令logrotate對Nginx日志進行切割的方法,對nginx日志切割腳本感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11
  • 詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認證訪問web站點

    詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認證訪問web站點

    這篇文章主要介紹了詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認證訪問web站點,有興趣的可以了解一下。
    2016-11-11
  • nginx實現(xiàn)根據(jù)URL轉(zhuǎn)發(fā)請求的實戰(zhàn)經(jīng)歷

    nginx實現(xiàn)根據(jù)URL轉(zhuǎn)發(fā)請求的實戰(zhàn)經(jīng)歷

    這篇文章主要給大家介紹了一次關(guān)于nginx實現(xiàn)根據(jù)URL轉(zhuǎn)發(fā)請求的實戰(zhàn)經(jīng)歷,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • nginx線程池源碼分析

    nginx線程池源碼分析

    雖然nginx的源碼非常精致,但是不得不說開發(fā)nginx很有挑戰(zhàn)性,越想更大程度上定制自己的模塊,越需要對nginx的每個細節(jié)了解頗深。
    2015-08-08
  • Nginx優(yōu)化服務(wù)之網(wǎng)頁壓縮的實現(xiàn)方法

    Nginx優(yōu)化服務(wù)之網(wǎng)頁壓縮的實現(xiàn)方法

    這篇文章主要介紹了Nginx優(yōu)化服務(wù)之網(wǎng)頁壓縮的實現(xiàn)方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Nginx中的主要應(yīng)用場景解讀

    Nginx中的主要應(yīng)用場景解讀

    這篇文章主要介紹了Nginx中的主要應(yīng)用場景解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Nginx rewrite地址重寫的詳細解析

    Nginx rewrite地址重寫的詳細解析

    在Nginx中使用重寫可以通過配置rewrite指令來實現(xiàn),本文主要介紹了Nginx rewrite地址重寫的詳細解析,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07

最新評論