一 實驗環境
Nginx 版本:nginx-1.8.1
Nginx代理服務器WAN:192.168.1.5 LAN:172.16.2.1
Web1:172.16.2.2
Web2:172.16.2.3
1. 配置好IP、DNS 、網關,確保使用遠程連接工具能夠連接服務器
2. 配置防火墻,iptables –F 清理防火墻規則或者關閉iptables
3. 關閉SELINUX, setenforce 0 #立即生效(實際是臨時生效)
二 Nginx Proxy 反向代理
Proxy 模塊:代理上級服務器
Upstream 模塊:自定義一個服務器組, 可以結合代理模塊從而提供負載均衡的功能
1.Upstream的常用參數介紹
ip_hash: 類似于lvs的sh算法,將同一IP的請求定向至同一主機
weight: 默認為1.weight越大,負載的權重就越大
max_fails:upstream允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤.
fail_timeout:多久超時算失敗
down:將某個主機標記下線
backup:將某個主機設置為備份模式, 只要不是所有主機都宕機, 它就不會上線
2.在Nginx 代理服務器上配置,編輯配置文件/etc/nginx/nginx.conf
在主配置文件的http段使用upstream定義一個集群, testserver是集群的名稱。
http段添加
upstream testserver {
server 172.16.2.2 weight=1;
server 172.16.2.3 weight=2;
}
Server 段添加
location / {
proxy_pass http://testserver;
}
service nginx reload
提示:后端是LNMP平臺的話可以直接響應動態請求,例如部署WordPress……
三 Nginx_Cache 緩存模塊
緩存能夠為我們減輕服務器的負擔和加快響應速度, Nginx_proxy模塊能夠支持緩存功能, 我們這里使用我們這里緩存靜態資源
1.在Linux上安裝ab來壓力測試
yum -y install httpd-tools
ab -n 1000 -c 200 http://192.168.1.5/index.html
2.配置緩存服務器
vi /etc/nginx/nginx.conf
http段添加:
proxy_cache_path /cache levels=1:1 keys_zone=testcache:64m; #內存緩存空間大小64M
#Location段配置
proxy_cache testcache; #使用testcache進行緩存
proxy_cache_valid 200 1d; #響應碼為200的緩存1天
proxy_cache_valid 500 501 502 503 1m; #響應碼為500…的緩存1分鐘
proxy_cache_use_stale error ; #如果請求源主機的時候出問題, 仍然使用緩存
service nginx reload #重新載入配置
mkdir /cache #創建緩存存放文件夾
chown nginx:nginx /cache #修改屬主和屬組為nginx
3.測試查看緩存效果
從測試結果可以看出緩存對于靜態資源響應的提升是十分顯著的.
原創文章,作者:liangkai,如若轉載,請注明出處:http://www.www58058.com/61418