5 openresty nginx命令 訊號控制

2021-10-01 18:06:44 字數 1753 閱讀 8929

指令:nginx程式 -c nginx配置檔案

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#cd /usr/local/nginx/sbin

##重啟

# ./nginx -s reload

進入nginx可執行程式的目錄

# cd /usr/local/nginx/sbin/

# ./nginx -s reload

nginx: [error] invalid pid number 「」 in 「/usr/local/nginx/logs/nginx.pid」

重啟是建立在nginx服務需要啟動

# ./nginx -s stop 

# ./nginx -s quit

quit 是乙個優雅的關閉方式,nginx在退出前完成已經接受的連線請求

stop 是快速關閉,不管有沒有正在處理的請求。

# ./nginx -s reopen
檢查配置檔案是否正確

第一種進入nginx可執行程式的目錄

# cd /usr/local/nginx/sbin/

# ./nginx -t

第二種

# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
nginx支援2種程序模型single和master-worker

single是單程序,一般不適用,

master-worker是主程序和工作程序模型執行,主程序對工作程序管理。

nginx允許我們通過訊號來控制主程序,用訊號的方式可以達到不影響現有連線的目的。

訊號型別

int,term

快速關閉訊號

quit

從容關閉訊號

hup從容重啟訊號,一般用於修改配置檔案後,重啟

usr1

重讀日誌,一般用於日誌的切割

usr2

平滑公升級訊號

winch

從容關閉舊程序

具體語法:

kill -訊號選項 nginx的主程序號

例:

# kill -int 26661 

# kill -hup 4873

#  ps -ef | grep nginx 獲得程序號
第1種從容「優雅」停止

# kill -quit master程序號
nginx服務可以正常地處理完當前所有請求再停止服務

步驟:首先會關閉監聽埠,停止接收新的連線,然後把當前正在處理的連線全部處理完,最後再退出程序。

第2種快速停止

# kill -term master程序號

# kill -int master程序號

快速停止服務時,worker程序與master程序在收到訊號後會立刻跳出迴圈,退出程序。

第3種強制停止

# pkill -9 nginx
系統強殺nginx程序

# kill -hup master程序號

openresty nginx 線上conf分析

今天在某業務中看到一些比較有學習意義的nginx配置,故拿出來解析一下。lua shared dict realtime variable 16m ngx lua模組中使用共享記憶體 lua shared dict lixian zone server gim schedule 100m ngx l...

OpenResty nginx擴充套件 實現防cc攻擊

流程圖 本文介紹使用openresty來實現防cc攻擊的功能。openresty官網下面是防cc攻擊的流程圖。根據流程圖,我們知道防cc攻擊主要包括兩部分,一是限制請求速度,二是給使用者傳送js跳轉 進行驗證請求是否合法。安裝依賴 rhel centos yum install readline d...

5 第 5 章 迴圈

1.可以用迴圈來驗證輸入。在迴圈前的第一次讀取操作,稱為啟動讀取,如果後續還需要繼續讀取,則語句應該在迴圈中。2.在實際程式設計應用中,不建議在 cout 語句中放置遞增或遞減運算子 因為容易出錯 3.需要計數時使用計數器,需要累計彙總時使用累加器。4.標記符號是乙個特殊值,指示著值列表的結尾。一般...