Nginx初識

configure腳本:

1、cat <EOF >>test.txt

     EOF

多行追加


2、uname

用於打印當前操作系統的相關信息


3、2>/dev/null

/dev/null 代表空設備文件

1 表示stdout標準輸出,系統默認值是1,所以">/dev/null"等同於"1>/dev/null" 
2 表示stderr標準錯誤 
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1


4、configure腳本生成的文件

默認在obj/

|---ngx_auto_headers.h    保存了宏

|---autoconf.err    保存configure執行過程中產生的結果

|---ngx_auto_config.h        保存了宏

|---ngx_modules.c   關鍵文件,定義了ngx_modules數組,該數組指明瞭每個模塊在Ngnix中的優先級

|---src    存放編譯時產生的目標文件

|        |---core

|        |---event

|        |        |---modules

|        |---os

|        |        |---unix

|        |        |---win32

|        |---http

|        |        |---modules

|        |                |---perl 

|        |---mail

|        |---misc

|---Makefile    編譯Nginx工程、在加入install參數後安裝Nginx


Nginx的命令行控制:

1、默認啓動方式

    直接執行nginx二進制程序

    /usr/local/nginx/sbin/nginx

    不加參數默認讀取 默認路徑下的配置文件/use/local/nginx/conf/nginx.conf

2、另行指定配置文件

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

    此時會讀取-c 後面的文件來啓動Nginx

3、另行指定安裝目錄

    -p   


4、另行指定全局配置項

    /usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid;"會把pid文件寫到test.pid中

    -g的一個約束條件是指定的配置項不能與默認路徑下的nginx.conf中的配置項衝突,具體可查看/usr./ocal/nginx/conf/nginx.conf文件內容;另一個約束條件是以-g方式啓動的Nginx服務在執行其他命令時,需把-g參數也帶上,否則可能出現配置項不匹配的情形


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

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


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

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


7、顯示Nginx版本信息

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


8、顯示版本信息和編譯階段的參數

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


9、快速地停止服務

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

    強制停止Nginx服務, -s告訴Nginx程序向正在運行的Nginx服務發送信號量,Nginx程序會通過/usr/local/nginx/logs/nginx.pid文件獲取master進程的ID,再向master進程發送TERM信號來快速關閉Nginx服務

    效果和kill -s SIGTERM <nginx master pid> 一樣


    worker進程與master進程收到信號後會立刻跳出循環,退出進程   


10、“優雅”地停止服務

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

    會發送QUIT信號給master進程    效果和kill-s SIGQUIT <nginx master pid> 一樣

    首先會關閉監聽端口,停止接收新的連接,然後把當前正在處理的連接全部處理完,最後再退出進程


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

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

    Nginx會先檢查配置項是否有誤,如果正確則以“優雅”的方式關閉,在重新啓動Nginx

    效果同kill -s SIGHUP <nginx master pid>


12、日誌文件回滾

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

    重新打開日誌文件,這樣可以先把當前日誌文件改名或轉移到其他目錄中進行備份,再重新打開時就會生成新的日誌文件


13、平滑升級Nginx

    當服務器升級到新版本時,必須將舊的二進制文件替換掉,nginx支持不重啓服務完成過新版本的平滑升級

    1、通知正在運行的舊版本Nginx準備升級,向master進程發送USER2信號

            kill -s SIGUSER2 <nginx master pid>

        這時會重命名/usr/local/nginx/logs/nginx.pid爲/usr/local/nginx/log/nginx.pid.oldbin

    2、以以上方式的任一種啓動新版本的Nginx,這時通過ps可看到舊版本的服務還在運行

    3、通過kill向舊版本master進程發送SIGQUIT信號即可,以“優雅”方式關閉

    

14、顯示命令行幫助

      /usr/local/nginx/sbin/nginx -h

      /usr/local/nginx/sbin/nginx -?


關閉80端口

fuser -k 80/tcp



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章