為了修復**的一些 bugs ,對 vps 的一些配置做了調整,順便把 lnmp0.4 一鍵安裝包預設安裝程式設計客棧的 nginx 0.7.65 公升級到 0.8.53,公升級過程中發現網上很多教程都是直接 copy 的,有部分錯誤,而且不夠完整。現在記錄一下,免得日後自己忘記了,也給比我更菜的人指條明路吧。
wget
解壓 nginx 壓縮包,並進入 nginx 檔案目錄。
gzip -d nginx-0.8.53.tar.gz
tar xvf nginx-0.8.53.tar
cd nginx-0.8.53
接下來執行下面的命令,配置 nginx 的相關模組(從字面來看應該是這個意思吧?其實我是裝懂的)。
程式設計客棧
等待命令執行結束後進行編譯。
程式設計客棧
make
編譯完成後,編譯完,在objs目錄下會有乙個 nginx 的執行檔案。這是需要備份原來(舊版)的 nginx,防止意外發生啊。
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
然後把剛才編譯的 nginx 0.8.53 複製到 sbin 目錄下。
cp -a nginx /usr/local/nginx/sbin/
檢測一下 nginx 是否正常。
/usr/local/nginx/sbin/nginx -t
如果出現下面的提示就說明沒問題了。
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
讓 nginx 把 nginx.pid 改成 nginx.pid.oldbin 跟著啟動新的 nginx,一般使用 lnmp0.4 一鍵安裝包的朋友執行下面的命令就可以了。
kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`
不是使用 lnmp0.4 一鍵安裝包的筒靴要先檢視一下 nginx 的主程序號。
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -f ' ' ''
假如查詢到的主程序號是 6302 的話,就執行下面這句命令。
kill -usr2 6302
最後是退出舊的 nginx
程式設計客棧
kill -quit `cat /usr/local/nginx/logs/nginx.pid.oldbin`
最後說明一下,nginx 0.8.x 基本上都是些穩定版,相容性和穩定性應該都比較好,可以放心公升級。(**:bolo的部落格)
本文標題: nginx 平滑公升級到 0.8.53 小記
本文位址: /news/exp/36182.html
nginx平滑公升級
先來說下我今天要實驗nginx平滑公升級的環境,從nginx.1.8.0公升級到nginx1.9.5 大概的流程 nginx的程序分為master主程序和work工作程序,master程序主要管理事件訊號接受和分發,所有的請求處理都由work程序處理並返回結 果,nginx的平滑重啟或過載配置檔案等...
Nginx平滑公升級
原文 來自nginx官網 如果想要公升級nginx版本 或者在原本版上增加 刪除模組 同時保持服務不間斷,採用如下方式可滿足要求。1.使用新的二進位制檔案替換老的二進位制檔案,這需要注意的是nginx原始碼在執行make編譯後,不要直接make install,否則可能會覆蓋其他配置檔案,命令如下 ...
Nginx平滑公升級
有時,我們需要對我們的伺服器進行公升級更高版本。此時,如果我們強行將伺服器停止然後直接公升級,這樣原來在伺服器上執行著的程序就會被影響。如何解決這個問題呢?可以通過平滑公升級的方式來解決。平滑公升級時,不會停掉在執行著的程序,這些程序會繼續處理請求,但不會再接受新請求,在這些老程序在處理完還在處理的...