此篇文章爲記錄Windows環境下安裝與使用Nginx的過程,對其中的原理描述可能不夠詳盡,僅爲記錄,後續有更深入的瞭解將進一步更新,若有誤導或解釋不夠的地方,再請不吝賜教.
1. 環境準備
(1)Nginx:下載地址 http://nginx.org/en/download.html,多個版本可供選擇,我測試時選擇的是1.9.9版,若在生產環境正式運行,建議選擇穩定版本Stable version,後續我也將使用穩定版本進行測試.
(2)測試站點準備:具體過程不做說明,鑑於我的預期目標是負載均衡,所以我準備了兩個測試站點,地址分別爲http://192.168.18.117:111與http://192.168.18.117:222
2. Nginx安裝與配置
2.1 Nginx安裝
解壓Nginx的zip檔,放到服務器的C盤根目錄下,實際上放置的路徑沒有特別要求,因爲我的測試服務器只有C盤,方便起見我直接放C盤根目錄,解壓後無需安裝.解壓後如圖所示.
雙擊運行nginx.exe後黑框一閃而過,從資源管理器可以看到兩個nginx進程,即開啓成功.
2.2 Nginx目錄結構與配置文件說明
重要目錄說明:
- conf 存放配置文件
- html 存放網頁文件
- logs 訪問的記錄及error log
配置文件說明:
配置文件路徑位於config/nginx.conf,Nginx的註釋符號是#.
默認的配置文件及說明如下,已去除註釋部分.
worker_processes 1; #允許生成的進程數,默認爲1
events {
worker_connections 1024; #每個進程的最大連接數
}
http {
include mime.types; #實現對配置文件所包含的文件的設定
default_type application/octet-stream; #設定默認類型爲二進制流
sendfile on; #用於開啓高效文件傳輸模式
keepalive_timeout 65; #用於設置客戶端連接保持活動的超時時間
server {
listen 80; #監聽端口默認爲80
server_name localhost; #主機頭(域名)
location / { #/爲匹配地址
root html; #虛擬主機的本地目錄
index index.html index.htm; #默認首頁的順序
}
error_page 500 502 503 504 /50x.html; #定義錯誤頁面
location = /50x.html {
root html;
}
}
}
3. Nginx常用指令
nginx -s stop 強制關閉
nginx -s quit 安全關閉
nginx -t 檢查配置文件是否正確
nginx -s reload 改變配置文件後重新加載配置,不需要重啓nginx
nginx -s reopen 打開日誌文件
4. Nginx反向代理
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:59637; #請求轉向的地址
}
5. Nginx負載均衡
- 添加upstream模塊配置,位於http節點下
upstream myweb { #定義反向代理的服務羣組
server 192.168.18.117:111 weight=1; #服務器A的地址,weight代表權重
server 192.168.18.117:222 weight=1; #服務器B的地址
}
- 修改location模塊配置
location /{
root html;
index index.html index.htm;
proxy_pass http://myweb; #指向upstream配置
}
到此爲止便是設置了簡單的網站負載平衡,但實際應用中的狀況會複雜許多,比如集羣網站間的session共享,或是nginx服務器掛掉的應對方案,後續將展開更詳細的記錄.