nginx(二) : 啓動、重啓、中止

nginx啓動

#sbin 目錄位於nginx 安裝的跟目錄
啓動命令:./sbin/nginx

啓動成功後訪問:http://192.168.8.222/ java

nginx 帶啓動參數

  • 參數介紹

使用方法實例nginx

nginx -c /path/to/nginx.conf  // 以特定目錄下的配置文件啓動nginx:
nginx -t     // 測試當前配置文件是否正確
nginx -t -c /path/to/nginx.conf  //測試特定的nginx配置文件是否正確

中止 或者 重啓 NIGNX

有兩種方式:tcp

  • 第一種

在啓動命令後面加上參數測試

nginx -s  reload  // 修改配置後從新加載生效
	nginx -s  reopen   // 從新打開日誌文件
	nginx -s  stop  // 快速中止nginx
	nginx -s  quit  // 完整有序的中止nginx
  • 第二種

發送一個信號量給 NGINX 的主進程,NGINX默認會將主進程id寫入/usr/local/NGINX/logs/nginx.pid,能夠經過查看這個文件,獲得主進程PIDui

信號量的信號標識符以下表

使用實例及介紹:日誌

# 發送這個信號後,不會馬上中止老的進程,但程序會從新的加載配置文件,再接收的請求將會以新的配置爲準
kill -HUP $( cat /usr/local/nginx/logs/nginx.pid )

# 發送這個信號命令,會優雅的中止全部的進程,即等正在運行的進程執行完成後,中止nginx
kill -QUIT $( cat /usr/local/nginx/logs/nginx.pid )

# 發送這個信號後,會強制的中止全部進程,中止nignx 服務
kill -TERM $( cat /usr/local/nginx/logs/nginx.pid )

# 發送這個信號後,會從新打開日誌文件,能夠用來作日誌切割
kill -TERM $( cat /usr/local/nginx/logs/nginx.pid )

常見錯誤

端口被佔用

[root@localhost nginx]# ./sbin/nginx 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

解決方法:code

#查看被佔用的端口是誰在佔用
$ netstat -antp
[root@localhost nginx]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      17758/nginx: master 

# 關掉這個進程 實用kill或者 pkill 或者 killall(關閉進程)
[root@localhost nginx]# pkill -9 17758

重啓一下,就OK了server

參考文檔

官方文檔blog

相關文章
相關標籤/搜索