今天開始我們一步一步在乙個純淨系統搭建乙個nginx執行環境並進行相關配置.
環境搭建:
首先要有乙個linux環境,這裡我們使用金山網遊伺服器普遍使用的linux版本centos. centos是基於redhat enterprise linux源**重新編譯並去除redhat徽標的產物。centos完全免費,但其開發團隊不提供技術支援,也不負任何商業責任。
linux系統安裝完後,我們必須確保系統安裝有gcc編譯器和autoconf和automake工具,用於我們對nginx原始碼進行重新編譯安裝。在centos下, 你可以使用如下命令安裝gcc及相關工具:
yum -y install gcc gcc-c++ antoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
從0.7.52版本開始,nginx就已經有windows版本,此處我們只討論linux環境下的安裝與配置,windows下安裝比較簡單,如需windows下執行的使用者可參考其他資料進行安裝與配置。
tar -zxvf nginx-1.0.10.tar.gz
cd nginx-1.0.10
./configure
make
sudo make install
通過以上命令,nginx將被預設安裝到。/usr/local/nginx目錄下,你可以通過./configure -help 檢視linux下可選擇的編譯選項。此處不做描述。
nginx的啟動,停止與重啟
nginx啟動、停止與重啟可以通過傳送系統訊號給nginx主程序的方式來進行,具體如下:
nginx啟動:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
-c引數指定了nginx啟動載入的配置檔案路徑,當然這裡可以不加此引數,預設啟動nginx主目錄下conf/nginx.conf
nginx停止:kill - 訊號型別 '/usr/local/nginx/logs/nginx.pid'
(1)從容停止nginx
kill - quit nginx主程序號
或 kill -quit '/usr/local/nginx/logs/logs/nginx.pid'
(2)快速停止nginx
kill - int nginx主程序號
或 kill -term /usr/local/nginx/logs/nginx.pid
kill - int nginx主程序號
或 kill -term /usr/local/nginx/logs/nginx.pid
(3)強制停止nginx程序
kill -9 nginx
(4)nginx平滑重啟
kill -hup nginx主程序號
或 kill -hup '/usr/local/nginx/logs/nginx.pid'
nginx的訊號控制:
term, int 快速關閉
quit 從容關閉
hup 從容重啟
usr1 重新開啟日誌檔案,在切割日誌時用途較大
usr2 平滑公升級可執行程式
winch 從容關閉工作程序
nginx的平滑公升級
我們可以採用同樣的方式通過傳送系統訊號給nginx主程序,來對正在執行中的nginx公升級、新增、刪除伺服器模組等,可以在不中斷服務的情況下使用新版本,重新編譯新版本的nginx替換舊版本的可執行程式,具體步驟如下:
(1)使用新的可執行替換舊的可執行程式,替換之前,最好備份一下就版本的可執行程式,以便替換過程中如有問題及時回滾。
(2)傳送系統訊號給nginx主程序
kill -usr2 舊版本的nginx主程序號
(3)舊版本的nginx主程序將重新命名它的pid檔案為*.oldbin(/usr/local/nginx/logs/nginx.pid.oldbin),然後執行新版本的nginx程式,一次啟動新的主程序和新的工作程序。
(4)此時,新舊版本的nginx程序會同時執行,共同處理輸入的請求,要逐步停止舊版本的nginx例項,必須傳送系統訊號給舊的主程序,如下:
kill -winch 舊的nginx主程序號
(5)一段時間後,舊的工作程序(worker process)處理了已鏈結的所有請求後從容退出,僅有新的新的工作程序來處理輸入請求。
(6)這時候,我們就可以決定是使用新版本,還是恢復到舊版本。
我的部落格:
Nginx學習之安裝篇
基於linux的安裝,本篇教程提供兩種安裝實現,儘管之前安裝過很多次,但是這裡還是做乙個整理。優點 不用擔心依賴關係 一鍵安裝。缺點 由於yum源的問題 nginx可能不是最新版本。安裝路徑不能自定義等問題。yum list nginx yum y install nginx whereis ngi...
Linux搭建環境之安裝Nginx篇
linux安裝nginx 1.安裝gcc gcc c 如新環境,未安裝請先安裝 yum install y gcc gcc c 2.安裝wget yum y install wget 3.安裝pcre庫 cd usr local wget tar zxvf pcre 8.33.tar.gz cd p...
精通Nginx基礎篇之安裝配置
一 nginx介紹 nginx是一款高效能的http和反向 伺服器,能夠選擇高效的epoll linux2.6核心 kqueue freebsd eventport solaris10 作為網路i o模型,能夠支援高達50000個併發連線數的響應,而記憶體 cpu等系統資源消耗卻非常低 執行非常穩定...