1. 程式人生 > >linux nginx 基本用法

linux nginx 基本用法

blue ima 不支持 執行 inux logs 目前 con col

nginx -s reload -p <nginx環境目錄> -c <指定的配置文件>

其中-p -c 為可選,不寫為默認路徑和配置

在執行命令之前可通過

nginx -t -p<> -c<>

檢查自定義的配置文件是否正確

另外nginx停止命令為

ps -ef | grep nginx

技術分享

kill -QUIT 30439<pid>

30439為圖中的例子,為nginx master process的pid

再次啟動命令

nginx -p<> -c<>

其中有個坑為reload命令僅支持改動配置文件,不支持更改文件,比如上圖中目前運行的配置文件為nginx.conf,然後我修改這個文件再重啟沒問題

nginx -s reload -c conf/nginx.conf

但是如果我想換成conf/nginx.other.conf

nginx -s reload -c conf/nginx.other.conf

這是不生效的,他還是重新讀取原來文件的配置

所以有多個配置文件需要切換的話,我的辦法是重命名配置文件,將需要的配置文件名修改為nginx.conf

mv nginx.other.conf nginx.conf

實際中是為了藍綠切換

切換腳本如下

case $1 in
    blue)
        if [ -f "nginx.blue.conf.bak" ]
        
then mv nginx.conf nginx.green.conf.bak mv nginx.blue.conf.bak nginx.conf nginx -s reload -p /weblogic/nginx -c conf/nginx.conf echo 切換到藍 else echo 配置不存在 fi ;; green) if [ -f "nginx.green.conf.bak" ]
then mv nginx.conf nginx.blue.conf.bak mv nginx.green.conf.bak nginx.conf nginx -s reload -p /weblogic/nginx -c conf/nginx.conf echo 切換到綠組 else echo 配置不存在 fi ;; esac

切換命令為

sh cbd.sh blue/green

linux nginx 基本用法