一、編譯安裝Nginx的要求如下:
1、確保您的操作系統安裝有GCC編譯器。另外您還必須安裝Autoconf 和 Automake工具,它們用於自動創建功能完善的Makefile,當前大多數軟件包都是用這一工具生成Makefile的,在CentOS系統下,您可以使用yum命令
yum -y install gcc gcc-c++ autoconf automake
2、模塊依賴性
Nginx的一些模塊需要其他第三方庫的支持,例如gzip模塊zlib庫,rewrite模塊需要pcre庫,ssl模塊需要openssl庫等。
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
二、在Linux環境下的安裝
tar zxvf nginx-1.1.xx.tar.gz cd nginx-1.1.xx ./configure make sudo make install
三、Nginx的啓動、停止、平滑重啓
1)啓動:假設Nginx安裝在/usr/local/nginx/目錄中,那麼啓動命令就是:
/usr/local/nginx/sbin/nginx -c /usr/nginx/conf/nginx.conf
如果不加"-c"參數,Nginx會默認加載其安裝目錄的conf子目錄中的nginx.conf文件。
2)停止
Nginx的停止方法有很多種,一般通過發送系統信號給Nginx的方式來停止Nginx。可以通過
ps -ef | grep nginx
如果在nginx.conf配置文件中指定了pid文件存放的路徑,該文件中存放的就是Nginx當前的主進程號,如果沒有指定,默認存放在Nginx安裝目錄的logs目錄下,所以可以通過以下命令來完成平滑重啓。
kill - 信號類型 '/usr/local/webserver/nginx/logs/nginx.conf'
(1)從容停止Nginx
kill - QUIT Nginx 主進程號
或
kill - QUIT '/usr/local/webserver/nginx/logs/nginx.conf'
(2)快速停止Nginx
kill - TERM Nginx主進程號 kill - TERM '/usr/local/webserver/nginx/logs/nginx.conf'
或
kill - INT Nginx主進程號 kill - INT '/usr/local/webserver/nginx/logs/nginx.conf'
(3)強制停止所有Nginx進程
pkill -9 nginx
3)平滑重啓
如果修改了Nginx的配置文件nginx.conf,想重啓Nginx,同樣可以通過發送信號給Nginx主進程的方式來進行。
要確認配置文件是否正確,可以使用如下語句
/usr/local/nginx/sbin/nginx -t -c /usr/nginx/conf/nginx.conf
這樣就可以平滑重啓Nginx了。
kill -HUP Nginx主進程好 kill -HUP '/usr/local/webserver/nginx/logs/nginx.conf'
當Nginx接收到HUP信號時,它會嘗試先解析配置文件,如果成功,就應用新的配置文件。之後Nginx運行新的工作進程並從容關閉舊的工作進程,但是繼續爲當前連接的客戶提供服務,直到全部完成,舊的工作進程被關閉。如果新的配置文件應用失敗,Nginx將繼續使用舊的配置進行工作。
4)Nginx的信號控制