<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Nginx 是一個高效能的 Web 伺服器,從 2001 年發展至今,由於 Nginx 對硬體和作業系統核心特性的深度挖掘,使得在保持高並行的同時還能夠保持高吞吐量。Nginx 還採用了模組設計,有大量的第三方模組可以擴充套件 Nginx 的功能,因此 Nginx 的場景非常豐富,同時 Nginx 採用的是 BSD 許可證,賦予了 Nginx 最大的靈活性。簡單來說,Nginx 具有以下幾個優點:
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
執行時是可以指定把它們安裝在不同的目錄的。
直接執行Nginx二進位制程式:
/usr/local/nginx/sbin/nginx/sbin/nginx
這時,會讀取預設路徑下的組態檔: /usr/local/nginx/conf/nginx.conf
實際上,在沒有顯式指定 nginx.conf 組態檔路徑時,將開啟 configure
命令執行時使用 --conf-path=PATH
指定nginx.conf檔案
/usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
這時,會讀取 -c
引數後指定的nginx.conf組態檔來啟動Nginx.
使用 -p
引數指定Nginx的安裝目錄
/usr/local/nginx/sbin/nginx -p /usr/local/nginx/
可以通過 -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檔案,也會出現無法停止伺服器端情況。
在不啟動Nginx的情況下,使用 -t
引數僅測試組態檔是否有錯誤:
/usr/local/nginx/sbin/nginx -t
執行結果中顯式設定是否正確
測試設定選項時,使用 -q
引數可以不把error級別以下的資訊輸出到螢幕
/usr/local/nginx/sbin/nginx/ -t -q
使用 -v
引數顯示Nginx的版本資訊
/usr/local/nginx/sbin/nginx -v
使用 -V
引數除了可以顯示Nginx的版本資訊外,還可以顯示設定編譯階段的資訊,如 GCC編譯器的版本、作業系統的版本、執行 configure
時的引數 等:
/usr/local/nginx/sbin/nginx -V
使用 -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
是完全一致的
如果系統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>
使用 -s reload
引數可以使執行中的Nginx服務重新載入nginx.conf檔案
/usr/local/nginx/sbin/nginx -s reload
事實上Nginx會先檢查新的設定項是否有誤,如果全部正確就可以採取優雅的方式關閉,再重新啟動Nginx來實現這個目的。類似的, -s
是傳送訊號,仍然可以使用 kill
命令傳送HUP訊號來達到相同的效果
kill -s SIGHUP <nginx master pid>
使用 -s reopen
引數可以重新開啟紀錄檔檔案,這樣可以先把當前紀錄檔檔案改名或者轉移到其他目錄中進行備份,再重新開啟時就會生成新的紀錄檔檔案。這個功能使得紀錄檔檔案不至於過大
/usr/local/nginx/sbin/nginx -s reopen
當然這與使用 kill
命令傳送USR1訊號效果相同
kill -s SIGUSR1 <nginx master pid>
當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服務執行,此時平滑升級完畢。
使用 -h
或者 -?
引數會顯示支援的所有命令列引數
到此這篇關於Nginx 命令列控制的文章就介紹到這了,更多相關nginx 命令列內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45