深入學習有關Nginx負載均衡的安裝過程
Nginx負載均衡如何才能做好呢?這個問題需要我們不斷的探討。其實很簡單,只要做好相關命令的編寫就可以。為了確保能在 Nginx 中使用正則表達式進行更靈活的配置,安裝之前需要確定系統是否安裝有 PCRE(Perl Compatible Regular Expressions)包。
rpm -q pcre
本機系統顯示:
- [sillycat@dev1 tmp]$ rpm -q pcre
- pcre-4.5-3.2.RHEL4
不知道版本會不會過低,等等再說
- tar zxvf nginx-0.6.35.tar.gz
- cd nginx-0.6.35
- ./configure --with-http_stub_status_module --prefix=/usr/local/nginx
- make
- make install
安裝成功后 /usr/local/nginx 目錄下有四個子目錄分別是:
conf、html、logs、sbin
其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一個程序文件位于 sbin 目錄下的 nginx 文件。確保系統的 80 端口沒被其他程序占用,運行 sbin/nginx 命令來啟動 Nginx,打開瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝并運行成功。
本機發現不行,需要修改配置文件中的
- conf/nginx.conf
- server {
- listen 80;
- server_name www.kiko.com;
原來server_name是localhost只監聽了本機
程序運行參數
Nginx負載均衡安裝后只有一個程序文件,本身并不提供各種管理程序,它是使用參數和系統信號機制對 Nginx 進程本身進行控制的。 Nginx 的參數包括有如下幾個:
-c <path_to_config>:使用指定的配置文件而不是 conf 目錄下的 nginx.conf 。
-t:測試配置文件是否正確,在運行時需要重新加載配置的時候,此命令非常重要,用來檢測所修改的配置文件是否有語法錯誤。
-v:顯示 nginx 版本號。
-V:顯示 nginx 的版本號以及編譯環境信息以及編譯時的參數。
例如我們要測試某個配置文件是否書寫正確,我們可以使用以下命令
- sbin/nginx – t – c conf/nginx.conf
Nginx負載均衡啟動腳本
通過信號對 Nginx 進行控制
Nginx負載均衡支持下表中的信號:
信號名 作用描述
TERM, INT 快速關閉程序,中止當前正在處理的請求
QUIT 處理完當前請求后,關閉程序
HUP 重新加載配置,并開啟新的工作進程,關閉就的進程,此操作不會中斷請求
USR1 重新打開日志文件,用于切換日志,例如每天生成一個新的日志文件
USR2 平滑升級可執行程序
WINCH 從容關閉工作進程
有兩種方式來通過這些信號去控制 Nginx,第一是通過 logs 目錄下的 nginx.pid 查看當前運行的 Nginx 的進程 ID,通過 kill – XXX <pid> 來控制 Nginx,其中 XXX 就是上表中列出的信號名。如果您的系統中只有一個 Nginx 進程,那您也可以通過 killall 命令來完成,例如運行 killall – s HUP nginx 來讓 Nginx 重新加載配置。
nginx是超級穩定的服務器,一般不會因為超載問題而需要重啟,重啟的目的一般都是修改配置文件后需要加載一下。
【編輯推薦】