nginx linux 安裝、啓動、升級

nginx linux 安裝、啓動、升級

1、官網下載:
wget http://nginx.org/download/nginx-1.10.3.tar.gz
2、解壓,執行configure腳本

    tar -zxvf nginx-1.10.3.tar.gz
    cd nginx-1.10.3
    ./configure
    make
    sudo make install

3、若執行config報錯,很有可能是環境依賴的問題,執行如下命令,安裝其依賴。

yum -y install gcc gcc-c++ autoconf automake

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

模塊依賴,由於Nginx的一些模塊需要其他第三方庫的支持,例如gzip模塊需要zlib庫,rewrite模塊需要pcre庫,ssl功能需要openssl庫等等。

啓動nginx,一般地將ngixn放入path路徑。修改~目錄下的.bashrc文件,添加nignx的安裝路徑(默認的/usr/local/nginx/sbin)到PATH變量上去。
nginx -c 配置文件
{若不指定-c參數,那麼nginx會默認加載其安裝目錄的conf}

ps -ef | grep nginx 來查看Nginx的主進程號

如果在nginx.conf配置文件中指定了pid文件存放路徑(例如 pid /usr/local/nginx/logs/nginx.pid),該文件中存放的就是Nginx當前的主進程號,若沒有指定pid文件存放的路徑,nginx.pid文件默認存放在Nginx安裝目錄的logs目錄下面,因此可以直接通過以下命令來完成平滑重啓,而不必尋找Nginx主機號的步驟。
killl - 信號類型 nginx.pid(nginx的完整路徑)
1、從容停止Nginx
kill -QUIT Nginx主進程
快速停止 -TERM 或者 -INT
強制停止所有Nginx進程 kill -9 Nginx主進程

Nginx支持的信號
TERM,INT 快速關閉
QUIT 從容關閉
HUP 平滑重啓,重新加載配置文件
USR1 重新打開日誌文件,在切割日誌時用途很大
USR2 平滑升級可執行程序
WINCH 從容關閉工作進程


Nginx平滑升級的案例
當需要將正在運行的Nginx升級、添加刪除服務器模塊時,可以在不中斷服務的情況下使用新版本、重新編譯的Nginx可執行程序替換舊版本的可執行程序。
1、對於編譯安裝的Nginx,可以將新版本編譯安裝到舊版本的Nginx安裝路徑中,當然替換之前最好備份舊的可執行文件。(備份是一個好習慣!!!)
2、發送以下指定:
kill -USR2 舊版本的Nginx的主進程號
3、舊版本的主機進程將重新命名它的pid文件爲 oldbin(nginx.pid.oldbin),然後執行新版本的Nginx可執行程序,一次啓動新的主進程和新的工作進程。
4、此時,新舊版本的Nginx實例會同時運行,共同處理輸入請求,要逐步停止舊版本的Nginx實例,必鬚髮送WINCH信號給舊的主進程,然後它的工作進程就開始從容關閉;
kill -WINCH 舊版本的Nginx的主進程號
5、一段時間後,舊的工作進程處理了所有已連接的請求後退出,僅由新的工作進程來處理請求了。
6、這時候,我媽可以決定是使用新版本,還是恢復到舊版本
kill -HUP 舊主進程號 :Nginx將在不重載配置文件的情況下啓動它的工作進程
kill -QUIT 新的主進程號 : 從容關閉其工作進程
kill -TERM 新主進程號:強制退出。
{新的主進程退出之後,舊的主進程會移除oldbin的後綴,恢復爲pid文件。}

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