日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

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

目錄
  • Nginx 介紹
  • 1、默認方式啟動
  • 2、另行指定配置文件的啟動方式
  • 3、另行指定安裝目錄的啟動方式
  • 4、另行指定全局配置項的啟動方式
  • 5、測試配置信息是否錯誤
  • 6、在測試配置階段不輸出信息
  • 7、顯示版本信息
  • 8、顯示編譯階段的參數
  • 9、快速的停止服務
  • 10、優雅的停止服務
  • 11、使運行中的Nginx重讀配置項并生效
  • 12、日志文件回滾
  • 13、平滑升級Nginx
  • 14、顯示命令行幫助

Nginx 介紹

Nginx 是一個高性能的 Web 服務器,從 2001 年發展至今,由于 Nginx 對硬件和操作系統內核特性的深度挖掘,使得在保持高并發的同時還能夠保持高吞吐量。Nginx 還采用了模塊設計,有大量的第三方模塊可以擴展 Nginx 的功能,因此 Nginx 的場景非常豐富,同時 Nginx 采用的是 BSD 許可證,賦予了 Nginx 最大的靈活性。簡單來說,Nginx 具有以下幾個優點:

  • 高并發,高性能
  • 可擴展性好
  • 高可靠,一年之中停機時間可能只有幾秒
  • 熱部署,可以不重啟升級
  • 靈活性高,采用BSD 許可證

BSD開源協議是一個給予使用者者很大自由的協議。基本上使用者可以“為所欲為”,可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。

在Linux中,Nginx默認被安裝在目錄 /usr/local/nginx 中,其中二進制文件路徑為 /usr/local/nginx/sbin/nignx ,配置文件路徑為 /usr/local/nginx/conf/nginx.conf 。注:在 configure 執行時是可以指定把它們安裝在不同的目錄的。

在Linux中,Nginx默認被安裝在目錄 /usr/local/nginx 中,其中二進制文件路徑為 /usr/local/nginx/sbin/nignx ,配置文件路徑為 /usr/local/nginx/conf/nginx.conf

注:在 configure 執行時是可以指定把它們安裝在不同的目錄的。

1、默認方式啟動

直接執行Nginx二進制程序:

/usr/local/nginx/sbin/nginx/sbin/nginx

這時,會讀取默認路徑下的配置文件: /usr/local/nginx/conf/nginx.conf
實際上,在沒有顯式指定 nginx.conf 配置文件路徑時,將打開 configure 命令執行時使用 --conf-path=PATH 指定nginx.conf文件

2、另行指定配置文件的啟動方式

/usr/local/nginx/sbin/nginx -c /tmp/nginx.conf

這時,會讀取 -c 參數后指定的nginx.conf配置文件來啟動Nginx.

3、另行指定安裝目錄的啟動方式

使用 -p 參數指定Nginx的安裝目錄

/usr/local/nginx/sbin/nginx -p /usr/local/nginx/

4、另行指定全局配置項的啟動方式

可以通過 -g 參數臨時指定一些全局配置項,以使新的配置項生效

/usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid"

上面這行命令意味著會把pid文件寫到 /var/nginx/test.pid

-g 參數的約束條件是指定的配置項不能與默認路徑下的nginx.conf中的配置項相沖突,否則無法啟動。就像上例那樣,類似這樣的配置項: pid /var/nginx/test.pid ,是不能存在于默認的nginx.conf中的。

另一個約束條件是以 -g 方式啟動的Nginx服務執行其他命令時,需要把 -g 參數也帶上,否則可能出現配置項不匹配的情形。例如,如果要停止Nginx服務,那么需要執行下面代碼:

/usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid" -s stop

如果不帶上 -g "pid /var/nginx/test.pid" ,那么找不到pid文件,也會出現無法停止服務端情況。

5、測試配置信息是否錯誤

在不啟動Nginx的情況下,使用 -t 參數僅測試配置文件是否有錯誤:

/usr/local/nginx/sbin/nginx -t

執行結果中顯式配置是否正確

6、在測試配置階段不輸出信息

測試配置選項時,使用 -q 參數可以不把error級別以下的信息輸出到屏幕

/usr/local/nginx/sbin/nginx/ -t -q

7、顯示版本信息

使用 -v 參數顯示Nginx的版本信息

/usr/local/nginx/sbin/nginx -v

8、顯示編譯階段的參數

使用 -V 參數除了可以顯示Nginx的版本信息外,還可以顯示配置編譯階段的信息,如 GCC編譯器的版本、操作系統的版本、執行 configure 時的參數 等:

/usr/local/nginx/sbin/nginx -V

9、快速的停止服務

使用 -s stop 可以強制停止Nginx服務。 -s 參數其實是告訴Nginx程序向正在運行的Nginx服務發送信號量,Nginx程序通過nginx.pid文件中得到的master進程的進程ID,再向運行中的master進行發送TERM信號來快速的關閉Nginx服務

/usr/local/nginx/sbin/nginx -s stop

實際上,如果通過 kill 命令直接向nginx master進程發送TERM或者INT信號,效果是一樣的
先通過 ps 命令來查看nginx master的進程ID

[root@VM_0_16_centos ~]# ps -ef | grep nginx
root      1413     1  0  2021 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    1414  1413  0  2021 ?        00:18:51 nginx: worker process
root     26388 26323  0 13:52 pts/0    00:00:00 grep --color=auto nginx

接下來直接通過 kill 命令來發送信號:

kill -s SIGTERM 1413

或者

kill -s SIGINT 1413

上面兩條命令的效果與執行 /usr/local/nginx/sbin/nginx -s stop 是完全一致的

10、優雅的停止服務

如果系統Nginx服務可以正常的處理完當前所有請求再停止服務,那么可以使用 -s quit 參數來停止服務

/usr/local/nginx/sbin/nginx -s quit

該命令與快速停止Nginx服務是有區別的。當快速停止服務時,worker進程與master進程在收到信號后會立刻跳出循環,退出進程。而優雅的停止服務時,首先會關閉監聽端口,停止接收新的連接,然后把當前正在處理的連接全部處理完,最后再退出進程。
與快速停止服務類似,可以直接發送QUIT信息給master進程來停止服務,其效果與執行 -s quit 命令是一樣的

kill -s SIGQUIT <nginx master pid>

如果希望優雅的停止某個worker進程,那么可以通過向該進程發送WINCH信號來停止服務

kill -s SIGWINCH <nginx worker pid>

11、使運行中的Nginx重讀配置項并生效

使用 -s reload 參數可以使運行中的Nginx服務重新加載nginx.conf文件

/usr/local/nginx/sbin/nginx -s reload

事實上Nginx會先檢查新的配置項是否有誤,如果全部正確就可以采取優雅的方式關閉,再重新啟動Nginx來實現這個目的。類似的, -s 是發送信號,仍然可以使用 kill 命令發送HUP信號來達到相同的效果

kill -s SIGHUP <nginx master pid>

12、日志文件回滾

使用 -s reopen 參數可以重新打開日志文件,這樣可以先把當前日志文件改名或者轉移到其他目錄中進行備份,再重新打開時就會生成新的日志文件。這個功能使得日志文件不至于過大

/usr/local/nginx/sbin/nginx -s reopen

當然這與使用 kill 命令發送USR1信號效果相同

kill -s SIGUSR1 <nginx master pid>

13、平滑升級Nginx

當Nginx服務升級到新的版本時,必須要將舊的二進制文件Nginx替換掉,通常情況下這是需要重啟服務的,但Nginx支持不重啟服務來完成新版本的平滑升級
升級時包括以下步驟:

1.通知正在運行的舊版本Nginx準備升級。通過向master進程發送USR2信號可達到目的

kill -s SIGUSR2 <nginx master pid>

這時運行中的Nginx會將pid文件重命名,如將 /usr/local/nginx/logs/nginx.pid 重命名為 /usr/local/nginx/logs/nginx.pid.oldbin ,這樣新的Nginx才有可能啟動成功

2.啟動新版本的Nginx,可以使用上面任意一種啟動方法。這時通過ps命令可以發現新舊版本的Nginx在同時運行。

3.通過 kill 命令向舊版本的master進程發送SIGQUIT信號,以優雅的方式關閉舊版本的Nginx。隨后將只有新版本的Nginx服務運行,此時平滑升級完畢。

14、顯示命令行幫助

使用 -h 或者 -? 參數會顯示支持的所有命令行參數

分享到:
標簽:nginx 命令行 控制 服務器
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定