02運行和控制nginx

1.nginx命令行參數


不像許多其餘軟件系統,Nginx 僅有幾個命令行參數,徹底經過配置文件來配置
sudo nginx -t
-c </path/to/config> 爲 Nginx 指定一個配置文件,來代替缺省的。nginx

-t 不運行,而僅僅測試配置文件。nginx 將檢查配置文件的語法的正確性,並嘗試打開配置文件中所引用到的文件。測試

-v 顯示 nginx 的版本。ui

-V 顯示 nginx 的版本,編譯器版本和配置參數。this

nginx -h命令行

-?,-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/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file
  • stop — fast shutdown,不處理請求直接中止
  • quit — graceful shutdown,處理完請求後中止
  • reload — reloading the configuration file,重載配置文件
  • reopen — reopening the log files

2. nginx控制信號


2.1 信號

  • 主進程能夠處理的信號:
TERM, INT 快速關閉
QUIT 從容關閉
HUP 重載配置
用新的配置開始新的工做進程
從容關閉舊的工做進程
USR1 從新打開日誌文件
USR2 平滑升級可執行程序。
WINCH 從容關閉工做進程
  • 儘管你沒必要本身操做工做進程,可是,它們也支持一些信號:
TERM, INT 快速關閉
QUIT 從容關閉
USR1 從新打開日誌文件

2.2 nginx信號實戰

啓動nginx sudo nginx或者 sudo /usr/local/nginx/nginx
使用 ps -ef|grep nginx查看nginx的pid、
命令格式: kill 信號 nginx進程號
  1. sudo kill -QUIT 25743 優雅的關閉nginx進程,在處理完全部正在使用nginx用戶請求後再關閉nginx進程,等同於/usr/local/nginx -s quit
  2. sudo kill -HUP 7370 nginx進程不關閉,可是從新加載配置文件。等同於/usr/local/nginx -s reload
  3. sudo kill -USR1 7370不用關閉nginx進程就能夠重讀日誌,此命令能夠用於nginx的日誌定時備份,按月/日等時間間隔分割有用
  4. sudo kill -USR2 7370 nginx的版本須要升級的時候,不須要中止nginx,就能對nginx升級
  5. sudo kill -WINCH 7370 優雅的關閉nginx舊版本的進程,配合USR2對nginx升級

若是嫌麻煩能夠不用查看進程號,直接使用命令進行操做
例如日誌

kill  -QUIT  `cat  /usr/local/nginx/nginx.pid`

其中/usr/local/nginx/nginx.pid 爲nginx.conf中pid命令設置的參數,用來存放nginx主進程號的文件code

3. nginx 啓動、中止、重啓命令


3.1 nginx啓動

用nginx二進制文件絕對路徑sudo /usr/local/nginx/nginxsudo nginx啓動進程

3.2 中止

ps -ef |grep nginx
kill -QUIT  nginx主進程號

nginx從容中止命令,等全部請求結束後關閉服務編譯器

kill -9 nginx主進程號

強行中止it

3.3 nginx重啓

重啓類型
1.簡單型,先關閉進程,修改你的配置後,重啓進程。
kill -QUIT cat /usr/local/nginx/nginx.pid
sudo /usr/local/nginx/nginx
2.從新加載配置文件,不重啓進程,不會中止處理請求 HUP
3.平滑更新nginx二進制,不會中止處理請求 USR2與WINCH
相關文章
相關標籤/搜索