Nginx初識

configure腳本:
nginx

一、cat <EOF >>test.txt數組

     EOF服務器

多行追加tcp


二、unameide

用於打印當前操做系統的相關信息測試


三、2>/dev/nullui

/dev/null 表明空設備文件
spa

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


四、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的命令行控制:

一、默認啓動方式

    直接執行nginx二進制程序

    /usr/local/nginx/sbin/nginx

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

二、另行指定配置文件

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

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

三、另行指定安裝目錄

    -p   


四、另行指定全局配置項

    /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參數也帶上,不然可能出現配置項不匹配的情形


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

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


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

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


七、顯示Nginx版本信息

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


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

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


九、快速地中止服務

    /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進程收到信號後會馬上跳出循環,退出進程   


十、「優雅」地中止服務

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

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

    首先會關閉監聽端口,中止接收新的鏈接,而後把當前正在處理的鏈接所有處理完,最後再退出進程


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

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

    Nginx會先檢查配置項是否有誤,若是正確則以「優雅」的方式關閉,在從新啓動Nginx

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


十二、日誌文件回滾

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

    從新打開日誌文件,這樣能夠先把當前日誌文件更名或轉移到其餘目錄中進行備份,再從新打開時就會生成新的日誌文件


1三、平滑升級Nginx

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

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

            kill -s SIGUSER2 <nginx master pid>

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

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

    三、經過kill向舊版本master進程發送SIGQUIT信號便可,以「優雅」方式關閉

    

1四、顯示命令行幫助

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

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


關閉80端口

fuser -k 80/tcp

相關文章
相關標籤/搜索