最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx基本命令&不停機版本升級

 更新時間:2023年08月30日 10:53:27   作者:fkjavaer  
這篇文章主要為大家介紹了Nginx基本命令&不停機版本升級,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Nginx基本命令&不停機版本升級

在上一篇文章【Linux】Ubuntu安裝Nginx(在線安裝&源碼編譯安裝)中,我們已經(jīng)通過源碼編譯安裝nginx,其nginx執(zhí)行文件的地址為:/usr/local/nginx

Nginx工作模型

我們先來看看nginx啟動之后的進程情況:

 ps -ef|grep nginx
 
 # 輸出結(jié)果
 root        1036       1  0 02:33 ?        00:00:00 nginx: master process ./nginx
 nobody      1037    1036  0 02:33 ?        00:00:00 nginx: worker process

可以看到,目前運行的nginx存在一個master進程和一個worker進程,它們有著明確的分工:

  • master進程:讀取和評估配置。
  • worker進程:處理請求,工作進程的數(shù)量可以在配置文件中定義。

 nginx采用基于事件的模型并依賴于操作系統(tǒng)的機制高效地在工作進程之間分發(fā)請求。

Nginx基本命令

nginx命令

一般所有的軟件,都有類似于help的指令,nginx中我們使用nginx -h或者nginx -?即可進行查看。

 # 先進入nginx執(zhí)行文件目錄
 cd /usr/local/nginx
 # ./nginx -h
 Options:
   -?,-h         : this help
   -v            : show version and exit
   -V            : show version and configure options then exit
   -t            : test configuration and exit
   -T            : test configuration, dump it and exit
   -q            : suppress non-error messages during configuration testing
   -s signal     : send signal to a master process: stop, quit, reopen, reload
   -p prefix     : set prefix path (default: /usr/local/nginx/)
   -c filename   : set configuration file (default: /usr/local/nginx/nginx.conf)
   -g directives : set global directives out of configuration file

可以看到,nginx為我們列出了參數(shù)指令的含義。

參數(shù)

含義

-?,-h

查看幫助信息

-v

查看nginx版本

-V

查看nginx版本以及配置選項

-t

測試配置文件語法是否正確

-T

測試配置文件語法是否正確,并輸出配置內(nèi)容

-q

測試配置文件過程中不顯示非錯誤信息

-s

向master進程發(fā)送命令,stop:快速關(guān)閉,quit:優(yōu)雅關(guān)閉,reopen:重新打開日志,reload:重新加載配置文件

-p

設(shè)置nginx執(zhí)行路徑,默認為/usr/local/nginx/

-c

以指定配置文件啟動(
/usr/local/nginx/nginx.conf)

-g

從設(shè)置配置文件中全局指令(./nginx -g "pid logs/new.pid",便可以在啟動nginx時修改配置文件中的默認配置)

在工作中,可能經(jīng)常涉及到配置文件的修改,因此,使用比較多的命令:

 nginx -t

修改配置文件后,先測試配置文件語法的正確性

 nginx -s reload

修改配置文件后,通知master進程重新加載配置文件,master進程會啟動新的worker進程,并向舊的worker進程發(fā)送關(guān)閉命令,舊的worker進程收到關(guān)閉命令后,停止接收新的連接直到當前工作結(jié)束后退出。

kill命令

除了使用nginx命令,我們還可以通過kill命令向nginx的master進程和worker進程發(fā)送信號,其中某些命令的效果與執(zhí)行nginx -s signal的效果是一樣的。

master進程支持的信號:

信號

含義

TERM, INT

快速關(guān)閉。與nginx -s stop效果一致。kill -s TERM pid,kill -s INT pid

QUIT

優(yōu)雅關(guān)閉。與nginx -s quit效果一致。kill -s QUIT pid

HUP

重新加載配置,與nginx -s reload效果一致。kill -s HUP pid

USR1

重新打開日志。kill -s USR1 pid

USR2

升級nginx可執(zhí)行文件,可以用來不停機升級nginx版本。kill -s USR2 pid

WINCH

優(yōu)雅關(guān)閉worker進程。kill -s WINCH pid

worker進程支持的信號:

信號

含義

TERM, INT

快速關(guān)閉。kill -s TERM pid,kill -s INT pid

QUIT

優(yōu)雅關(guān)閉。kill -s QUIT pid

USR1

重新打開日志。kill -s USR1 pid

WINCH

調(diào)試異常終止。kill -s WINCH pid

Nginx版本升級

1)查看當前版本

 ./nginx -v
 nginx version: nginx/1.18.0

2)準備新版本

下載鏈接:
http://nginx.org/download/nginx-1.22.1.tar.gz

3)解壓縮

 tar zxvf nginx-1.22.1.tar.gz

4)設(shè)置configure

 cd /home/stone/nginx-1.22.1/
 sudo ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid

5)編譯

 sudo make

升級過程,只需要編譯,不需要安裝,否則會覆蓋已經(jīng)安裝的版本

6)查看新編譯的版本

 cd objs/
 ls
 autoconf.err  Makefile  nginx  nginx.8  ngx_auto_config.h  ngx_auto_headers.h  ngx_modules.c  ngx_modules.o  src

可以看到,該目錄下也存在一個nginx文件,運行nginx -v查看

 ./nginx -v
 nginx version: nginx/1.22.1

7)備份原nginx可執(zhí)行文件

如果后續(xù)升級失敗,還可以進行版本回滾

 cd /usr/local/nginx
 sudo mv nginx nginx.bak

8)復制新的nginx可執(zhí)行文件進行替換

 cd /home/stone/nginx-1.22.1/objs
 sudo cp nginx /usr/local/nginx/

9)查看當前nginx進程

 ps -ef|grep nginx
 # 輸出結(jié)果
 root        3253       1  0 11:07 ?        00:00:00 nginx: master process ./nginx
 nobody      3254    3253  0 11:07 ?        00:00:00 nginx: worker process
 stone      24596    3181  0 13:50 pts/1    00:00:00 grep --color=auto nginx

10)執(zhí)行升級命令

 sudo kill -s USR2 `more /usr/local/nginx/nginx.pid`

再次查看nginx進程,可以看到創(chuàng)建了新的master進程和worker進程,與此同時,也是將舊版本的nginx的pid保存到nginx.pid.oldbin中。

 ps -ef|grep nginx
 # 輸出結(jié)果
 root        3253       1  0 11:07 ?        00:00:00 nginx: master process ./nginx
 nobody      3254    3253  0 11:07 ?        00:00:00 nginx: worker process
 root       25675    3253  0 13:53 ?        00:00:00 nginx: master process ./nginx
 nobody     25676   25675  0 13:53 ?        00:00:00 nginx: worker process

我們可以查看一下這個文件,確實,其記錄了舊版本的master進程pid

 cat /usr/local/nginx/nginx.pid.oldbin 
 3253

此時,所有的worker進程(包括新的和舊的)繼續(xù)接收請求,我們可以向舊版本的master進程發(fā)送WINCH命令以關(guān)閉其worker進程。

 sudo kill -s winch `cat /usr/local/nginx/nginx.pid.oldbin`

再次查看nginx進程,舊版本的worker進程已經(jīng)優(yōu)雅退出,只剩下master進程。

 ps -ef|grep nginx
 root        3253       1  0 11:07 ?        00:00:00 nginx: master process ./nginx
 root       25675    3253  0 13:53 ?        00:00:00 nginx: master process ./nginx
 nobody     25676   25675  0 13:53 ?        00:00:00 nginx: worker process

如果新版本的worker進程運行正常,那么我們就可以向舊版本的master進程發(fā)送QUIT命令優(yōu)雅退出。

 sudo kill -s quit `cat /usr/local/nginx/nginx.pid.oldbin`

到這里,我們的nginx版本也就在不停機的情況下平滑升級完成了。

以上就是Nginx基本命令&不停機版本升級的詳細內(nèi)容,更多關(guān)于Nginx命令不停機版本升級的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:

相關(guān)文章

  • nginx部署多前端項目的幾種方法

    nginx部署多前端項目的幾種方法

    最近一臺服務(wù)器要配置多個前端項目,個人總結(jié)了3種方法來實現(xiàn)在一臺服務(wù)器上使用nginx部署多個前端項目的方法。需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Nginx服務(wù)器中的GZip配置參數(shù)詳解

    Nginx服務(wù)器中的GZip配置參數(shù)詳解

    這篇文章主要介紹了Nginx服務(wù)器中的GZip配置參數(shù)詳解,即利用GZip來壓縮網(wǎng)站頁面數(shù)據(jù),需要的朋友可以參考下
    2015-08-08
  • upstream模塊在nginx配置文件中的作用詳解

    upstream模塊在nginx配置文件中的作用詳解

    這篇文章主要為大家介紹了upstream模塊在nginx配置文件中的作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Nginx+SSL實現(xiàn)雙向認證的示例代碼

    Nginx+SSL實現(xiàn)雙向認證的示例代碼

    這篇文章主要介紹了Nginx+SSL實現(xiàn)雙向認證的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Nginx之https證書配置實現(xiàn)

    Nginx之https證書配置實現(xiàn)

    本文主要介紹了Nginx之https證書配置的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-12-12
  • nginx配置keepalive長連接的實現(xiàn)方法

    nginx配置keepalive長連接的實現(xiàn)方法

    長連接允許客戶端在同一個TCP連接上發(fā)送多個請求,以減少連接握手的開銷,提高網(wǎng)站性能,本文主要介紹了nginx配置keepalive長連接的實現(xiàn)方法,感興趣的可以了解一下
    2023-08-08
  • Linux 系統(tǒng) nginx 服務(wù)器安裝及負載均衡配置詳解

    Linux 系統(tǒng) nginx 服務(wù)器安裝及負載均衡配置詳解

    nginx(engine x) 是一個 高性能 的 HTTP 和 反向代理 服務(wù)器、郵件代理服務(wù)器以及通用的 TCP/UDP 代理服務(wù)器。這篇文章主要介紹了Linux 系統(tǒng) nginx 服務(wù)器安裝及負載均衡配置詳解,需要的朋友可以參考下
    2019-07-07
  • nginx長連接與短連接性能對比分析

    nginx長連接與短連接性能對比分析

    文章對比了Nginx的長連接和短連接性能,通過JMeter進行壓測,結(jié)果顯示長連接模式下響應(yīng)時間減少,TPS提升,但錯誤率上升,主要因Windows系統(tǒng)TCP端口資源釋放延遲,長連接適用于頻繁請求場景
    2025-12-12
  • Apache select和Nginx epoll模型的用法對比

    Apache select和Nginx epoll模型的用法對比

    這篇文章主要介紹了Apache select和Nginx epoll模型的用法對比,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • nginx的error_page配置選項詳解

    nginx的error_page配置選項詳解

    這篇文章主要介紹了nginx的error_page配置選項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-10-10

最新評論

浦县| 桦甸市| 四子王旗| 罗平县| 武山县| 黄大仙区| 民乐县| 普格县| 泾川县| 黔江区| 南雄市| 百色市| 金乡县| 宣恩县| 徐闻县| 霍州市| 清新县| 安仁县| 平舆县| 抚州市| 伊吾县| 盐城市| 察雅县| 杭锦旗| 眉山市| 沿河| 镇平县| 蚌埠市| 北碚区| 布尔津县| 石台县| 大邑县| 克拉玛依市| 平潭县| 开平市| 思茅市| 黔西| 泰来县| 鄂州市| 惠来县| 钦州市|