說明
tengine官方說明文檔
nginx 對於后端RS的檢查機制不完善
所有用Tengine進行反向代理12
一、反向代理
1.定義后端real-server(在http段)
upstream static_server {
server 192.168.17.175:80 weight=5;
server 192.168.17.176:80 weight=3;
}
upstream basic_server {
server 192.168.17.175:80 weight=2;
server 192.168.17.176:80 weight=5;
}
1234567891011
2.location 匹配到自定義內容 代理到對應的real-server(server段)
server {
listen 80 default_server;
server_name _;
location ~ ^/images {
index index.php index.html;
proxy_pass http://static_server;
}
location ~* .(jpg|png|jpeg|gif) {
proxy_pass http://static_server;
}
#匹配到/youxi 則全部代理到 http://basic_server/index.html;
location ~ /youxi {
rewrite ^(.*)$ /index.html break;
proxy_pass http://basic_server/index.html;
}123456789101112131415161718
二、real-server健康檢測
模塊
nginx_upstream_check_module-master
使用
upstream塊里可以用多個server選項配置多個后端服務器,同時還可配置對后端服務器的健康狀態檢查,
可以在server后面加上
max_fails(proxy_next_upstream指定檢查策略,默認為返回超時為失敗)和
fail_timeout參數實現;
也可以用health_check選項來實現
health_check可以指定的參數較多,不過需要定義在location上下文中。
另外,可以指定代理服務器自身作為備份server,當所有后端服務器都宕機時,對外提供維護提示頁面。
指定負載均衡策略
主要有round_robin(加權輪詢,默認)、
hash、ip_hash、least_conn(最少連接)
least_time(最少響應時間,商業版本)
策略定義在upstream上下文即可;123456789101112131415
1.對real-server進行健康檢測(upstream中)
upstream basic_server {
server 192.168.17.175:80 weight=2;
server 192.168.17.176:80 weight=5;
check interval=3000 rise=2 fall=5 timeout=2000 type=http;
check_http_expect_alive http_2xx http_3xx;
}
1234567
2.健康檢測頁面
server {
location /status {
check_status;
}
}
123456
---------------------
作者:木子甘
來源:CSDN
原文:https://blog.csdn.net/tete2csdn/article/details/78508921
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!