国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[nginx文檔翻譯系列] 控制nginx

luckyw / 3690人閱讀

摘要:主進(jìn)程首先檢查語法的有效性,然后試圖應(yīng)用新的配置,即打開日志文件和新的監(jiān)聽套接字。舊的工作進(jìn)程關(guān)閉監(jiān)聽的套接字并繼續(xù)服務(wù)舊的客戶端。

[nginx文檔翻譯系列] 控制nginx

原文鏈接:http://nginx.org/en/docs/cont...
轉(zhuǎn)自我的GitHub
有些地方覺得翻譯的不是很合理,所以在括號(hào)中寫出了原句。
如果有地方翻譯的不合理,請(qǐng)多多指教。

修改配置文件(Changing Configuration)

輪流日志文件(Rotating Log-files)

平滑升級(jí)(Upgrading Executable on the Fly)

可以用信號(hào)控制nginx。主進(jìn)程的ID默認(rèn)情況下被寫入/usr/local/nginx/logs/nginx.pid文件。這個(gè)名字可以在配置時(shí)修改或者在nginx.conf文件中使用pid指令。主進(jìn)程支持以下信號(hào):

TERM, INT   快速關(guān)機(jī)
QUIT        正常關(guān)機(jī)
HUP         更改配置,緊跟著一個(gè)被改變的時(shí)區(qū)(僅適用于FreeBSD和Linux) ,
            用新的配置開始一個(gè)新的工作進(jìn)程,
            正常關(guān)掉舊的工作進(jìn)程。
USR1        重新打開日志文件
USR2        升級(jí)可執(zhí)行文件
WINCH       工作進(jìn)程正常關(guān)機(jī)

個(gè)人工作進(jìn)程也可以使用信號(hào)控制,盡管并不是必須的。支持的信號(hào)有:

TERM, INT    快速關(guān)機(jī)
QUIT        正常關(guān)機(jī)
USR1        重新打開日志文件
WINCH        調(diào)試異常終止(要求debug_points 可用)
修改配置文件

為了讓nginx重讀配置文件,一個(gè)HUP信號(hào)應(yīng)該被發(fā)送到主進(jìn)程。主進(jìn)程首先檢查語法的有效性,然后試圖應(yīng)用新的配置,即打開日志文件和新的監(jiān)聽套接字。如果失敗,它會(huì)回滾變化的地方,并繼續(xù)使用舊的配置。如果成功了,它會(huì)開啟新的工作進(jìn)程,并向舊的進(jìn)程發(fā)送正常關(guān)機(jī)的消息。舊的工作進(jìn)程關(guān)閉監(jiān)聽的套接字并繼續(xù)服務(wù)舊的客戶端。當(dāng)服務(wù)完所有的客戶端,舊的工作進(jìn)程會(huì)關(guān)閉。

讓我們通過示例來說明。假設(shè)nginx是運(yùn)行在FreeBSD 4.x 上的,這個(gè)命令是:

ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep "(nginx|PID)"

產(chǎn)生以下輸出:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
33127 33126 nobody   0.0  1380 kqread nginx: worker process (nginx)
33128 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)
33129 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)

如果HUP被傳達(dá)到主進(jìn)程,輸出變成:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33129 33126 nobody   0.0  1380 kqread nginx: worker process is shutting down (nginx)
33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)

舊的工作進(jìn)程之中有一個(gè)ID為333129的仍舊在工作。一段時(shí)間后退出:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
輪流日志文件(Rotating Log-files)

為了輪流日志文件,它們首先需要重命名。之后USR1信號(hào)應(yīng)該被發(fā)送到主進(jìn)程。
主進(jìn)程將重新打開當(dāng)前所有的日志文件,并為它們分配工作進(jìn)程正在運(yùn)行下的一個(gè)非特權(quán)用戶作為擁有者。在重新打開成功之后,主進(jìn)程會(huì)關(guān)閉所有打開的文件,并向工作進(jìn)程發(fā)送消息請(qǐng)求它們重新打開文件。工作進(jìn)程也會(huì)立即打開新的文件并關(guān)閉舊的文件。因此,舊文件幾乎可立即用于post processing,比如壓縮。

平滑升級(jí)(Upgrading Executable on the Fly)

為了平滑升級(jí)服務(wù)器,首先新的可執(zhí)行文件應(yīng)放置在舊文件的地方(the new executable file should be put in place of an old file first.)。在USR2信號(hào)被發(fā)送到主進(jìn)程之后。主進(jìn)程首先在新文件重命名文件中的ID帶著.oldbin后綴,比如/usr/local/nginx/logs/nginx.pid.oldbin,然后啟動(dòng)新的可執(zhí)行文件進(jìn)而輪流啟動(dòng)新的工作進(jìn)程:

 PID  PPID USER      %CPU  VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33135 33126 nobody   0.0  1380 kqread nginx: worker process (nginx)
33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)

在這之后所有的工作進(jìn)程(舊的和新的)都繼續(xù)接受請(qǐng)求。如果WINCH信號(hào)傳送到了第一個(gè)主進(jìn)程,它會(huì)發(fā)送消息到它的工作進(jìn)程,要求它們正常關(guān)機(jī),然后它們將會(huì)退出:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33135 33126 nobody   0.0  1380 kqread nginx: worker process is shutting down (nginx)
36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)

一段時(shí)間之后,只有新的工作進(jìn)程會(huì)處請(qǐng)求:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
36264 33126 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)

應(yīng)該注意的是舊的主進(jìn)程并沒有關(guān)閉它的監(jiān)聽套接字,而且在需要的情況下,它可以被用來再一次啟動(dòng)它的工作進(jìn)程。如果處于某些原因,新的可執(zhí)行文件工作不能被接受,可以做以下之一:

發(fā)送HUP信號(hào)給舊的主進(jìn)程。舊的主進(jìn)程會(huì)啟動(dòng)新的工作進(jìn)程在沒有重讀配置文件的情況下。之后,通過
發(fā)送QUIT信號(hào)給新的主進(jìn)程,所有新的進(jìn)程都可以正常關(guān)閉。

發(fā)送TERM信號(hào)給新的主進(jìn)程。然后它會(huì)發(fā)送消息給它的工作進(jìn)程請(qǐng)求它們立即退出,它們幾乎都立即退出。(如果新的進(jìn)程由于某些原因沒有退出,應(yīng)該把KILL信號(hào)發(fā)送給它們,強(qiáng)制他們退出。)當(dāng)新的主進(jìn)程退出時(shí),舊進(jìn)程會(huì)自動(dòng)地啟動(dòng)它新的進(jìn)程。

如果新的主進(jìn)程退出,舊的主進(jìn)程會(huì)丟棄文件中.oldbin后綴文件名的進(jìn)程ID。

如果升級(jí)成功,舊的主進(jìn)程應(yīng)該發(fā)送QUIT信號(hào),只有新的進(jìn)程會(huì)存在:

PID    PPID USER    %CPU   VSZ WCHAN  COMMAND
36264     1 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
36265 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36266 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)
36267 36264 nobody   0.0  1364 kqread nginx: worker process (nginx)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/39330.html

相關(guān)文章

  • nginx文檔翻譯系列控制nginx

    摘要:主進(jìn)程首先檢查語法的有效性,然后試圖應(yīng)用新的配置,即打開日志文件和新的監(jiān)聽套接字。舊的工作進(jìn)程關(guān)閉監(jiān)聽的套接字并繼續(xù)服務(wù)舊的客戶端。 [nginx文檔翻譯系列] 控制nginx 原文鏈接:http://nginx.org/en/docs/cont...轉(zhuǎn)自我的GitHub有些地方覺得翻譯的不是很合理,所以在括號(hào)中寫出了原句。如果有地方翻譯的不合理,請(qǐng)多多指教。 修改配置文件(Chan...

    B0B0 評(píng)論0 收藏0
  • Nginx

    摘要:此外,其也能夠提供強(qiáng)大的反向代理功能。是由為俄羅斯訪問量第二的站點(diǎn)開發(fā)的,第一個(gè)公開版本發(fā)布于年月日。 keepalived+nginx 實(shí)現(xiàn)高可用雙機(jī)熱備 + 負(fù)載均衡架構(gòu) 1 準(zhǔn)備4個(gè)ubuntu16.04虛擬機(jī)(啟用網(wǎng)卡二并使用橋接模式):A服務(wù)器:192.168.0.103 主B服務(wù)器:192.168.0.104 主(備) 前端工程師學(xué)習(xí) Nginx ...

    syoya 評(píng)論0 收藏0
  • nginx文檔翻譯系列]新手指南

    摘要:主進(jìn)程的目的是為了讀取和評(píng)估配置并保持工作進(jìn)程。默認(rèn)情況下,這個(gè)配置文件名為。如果一個(gè)塊指令在大括號(hào)中有其他的指令,則稱之為上下文如和。放在配置文件最外面的指令的稱之為主文,指令在主文中在中,在中。注意指令已經(jīng)被放置在環(huán)境中。 原文鏈接:http://nginx.org/en/docs/begi...轉(zhuǎn)自我的github有些地方覺得翻譯的不是很合理,所以在括號(hào)中寫出了原句。如果有地方翻...

    jk_v1 評(píng)論0 收藏0
  • nginx文檔翻譯系列]新手指南

    摘要:主進(jìn)程的目的是為了讀取和評(píng)估配置并保持工作進(jìn)程。默認(rèn)情況下,這個(gè)配置文件名為。如果一個(gè)塊指令在大括號(hào)中有其他的指令,則稱之為上下文如和。放在配置文件最外面的指令的稱之為主文,指令在主文中在中,在中。注意指令已經(jīng)被放置在環(huán)境中。 原文鏈接:http://nginx.org/en/docs/begi...轉(zhuǎn)自我的github有些地方覺得翻譯的不是很合理,所以在括號(hào)中寫出了原句。如果有地方翻...

    phoenixsky 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<