亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

>

nginx進(jìn)程結(jié)構(gòu)

Nginx系列:詳解進(jìn)程結(jié)構(gòu)和熱部署

linux 信號量管理機(jī)制

[root@VM-8-17-centos nginx]# kill -l 
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

常用信號量

代碼 編號 備注
SIGCHLD Kill -17 $PID 當(dāng)子進(jìn)程掛掉的時候,父進(jìn)程會收到子進(jìn)程的SIGCHLD信號
SIGQUIT Kill -3 $PID 和SIGINT類似, 但由QUIT字符(通常是Ctrl-/)來控制.
進(jìn)程在因收到SIGQUIT退出時會產(chǎn)生core文件, 在這個意義上類似于一個程序錯誤信號
SIGTERM kill -15 $PID 程序結(jié)束(terminate)信號, 與SIGKILL不同的是該信號可以被阻塞和處理。(并不會立馬結(jié)束)
SIGKILL Kill -9 $PID 用來立即結(jié)束程序的運(yùn)行. 本信號不能被阻塞、處理和忽略。
SIGHUP Kill -1 $PID 平滑重啟,重新加載配置文件 (平滑重啟,修改配置文件之后不用重啟服務(wù)器。
直接kill -PUT 進(jìn)程號即可)
SIGUSR1 Kill -10 $PID 留給用戶使用,重新讀取日志文件,在切割日志時用途較大
(停止寫入老日志文件,打開新日志文件,之所以這樣是因?yàn)槔先罩疚募退阈薷牡奈募?br />由于inode的原因,nginx還會一直往老的日志文件寫入數(shù)據(jù))
SIGUSR2 Kill -12 $PID 留給用戶使用,平滑升級可執(zhí)行程序 ,nginx升級時候用
SIGWINCH Kill -28 $PID 窗口大小改變時發(fā)出,平滑升級可執(zhí)行程序 ,nginx升級時候用

Nginx系列:詳解進(jìn)程結(jié)構(gòu)和熱部署

[root->mcode-server->~]# ps -ef  | grep nginx 
root      8225     1  0 21:58 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     8226  8225  0 21:58 ?        00:00:00 nginx: worker process
nginx     8227  8225  0 21:58 ?        00:00:00 nginx: worker process
root      8503  7810  0 22:08 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# kill -15 8225
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8509  7810  0 22:08 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8561     1  0 22:09 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     8563  8561  0 22:09 ?        00:00:00 nginx: worker process
nginx     8573  8561  0 22:10 ?        00:00:00 nginx: worker process
root      8621  7810  0 22:11 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# kill -s SIGTERM 8561
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8784  7810  0 22:17 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# systemctl  start nginx 
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8801     1  0 22:17 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     8802  8801  0 22:17 ?        00:00:00 nginx: worker process
nginx     8803  8801  0 22:17 ?        00:00:00 nginx: worker process
root      8805  7810  0 22:17 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# kill -s SIGHUP 8801
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8801     1  0 22:17 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     8810  8801  0 22:18 ?        00:00:00 nginx: worker process
nginx     8811  8801  0 22:18 ?        00:00:00 nginx: worker process
root      8813  7810  0 22:18 pts/0    00:00:00 grep --color=auto nginx
[root->mcode-server->~]# nginx -s reload 
[root->mcode-server->~]# ps -ef  | grep nginx 
root      8801     1  0 22:17 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     8900  8801  0 22:21 ?        00:00:00 nginx: worker process
nginx     8901  8801  0 22:21 ?        00:00:00 nginx: worker process
root      8903  7810  0 22:21 pts/0    00:00:00 grep --color=auto nginx

Nginx 配置文件重載的核心原理

  1. 語法檢查: 在進(jìn)行配置文件重載之前,Nginx 首先會檢查新的配置文件的語法和合法性。這是為了防止錯誤的配置導(dǎo)致服務(wù)器無法啟動或異常運(yùn)行。
  2. 備份舊配置: Nginx 會在進(jìn)行重載操作前,備份當(dāng)前正在使用的配置文件。這樣,在重載后如果出現(xiàn)問題,可以方便地回滾至舊的配置,確保系統(tǒng)的穩(wěn)定性。
  3. 加載新配置: 一旦新配置文件通過語法檢查,Nginx 會將新的配置加載到內(nèi)存中,但此時并不會立即應(yīng)用到服務(wù)器。
  4. 發(fā)送信號給舊進(jìn)程: Nginx 主進(jìn)程會發(fā)送一個信號給舊的 worker 進(jìn)程,要求它們完成未完成的請求并退出。這確保了舊的請求能夠平穩(wěn)地完成,同時不再接受新的請求。
  5. 啟動新 worker 進(jìn)程: 當(dāng)舊的 worker 進(jìn)程完成退出后,Nginx 會啟動新的 worker 進(jìn)程,新進(jìn)程將基于加載到內(nèi)存中的新配置運(yùn)行。
  6. 舊進(jìn)程退出: 在新的 worker 進(jìn)程準(zhǔn)備就緒后,舊的主進(jìn)程會退出,完成整個配置文件重載過程。

Nginx系列:詳解進(jìn)程結(jié)構(gòu)和熱部署

熱升級流程

1、將舊nginx文件替換成新nginx文件

mv /server/application/nginx/sbin/nginx /server/application/nginx/sbin/nginx_$(date +%F)
cp /server/download/nginx-1.25.2/objs/nginx /server/application/nginx/sbin/

2、向老master進(jìn)程發(fā)送USR2信號

kill -USR2 `cat /var/run/nginx.pid`

3、master進(jìn)程修改pid文件名,加后綴.oldbin(保存老pid文件)

ll /var/run/nginx.pid* # 會出現(xiàn)一個nginx.pid.oldbin

4、master進(jìn)程用新nginx文件啟動新master進(jìn)程。(目前為止有兩個master進(jìn)程)

ps -ef  | grep nginx 

5、向老master進(jìn)程發(fā)送WINCH信號,關(guān)閉老worker

 kill -WINCH `cat /var/run/nginx.pid.oldbin`

6、回滾:向老master發(fā)送HUP,向新master發(fā)送QUIT。

kill -HUP `cat /var/run/nginx.pid.oldbin` # 使用HUP重新加載配置文件,使用新的配置,并逐步關(guān)閉舊進(jìn)程
kill -QUIT `cat /var/run/nginx.pid.oldbin` # 等待請求處理結(jié)束后再退出

>

分享到:
標(biāo)簽:服務(wù)器 結(jié)構(gòu) 詳解 進(jìn)程 部署
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定