NGINX反向代理、動靜結合
NGINX反向代理、動靜結合
一、默認輪詢模式
好處:每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
http {
include mime.types;
default_type application/octet-stream;
#tcp_nopush on;
keepalive_timeout 65;
#反向代理的配置 這是配置的兩臺機器 可以是多臺
upstream test{
server 192.168.136.139:80;
server 192.168.136.136:80;
}
server {
#端口號
listen 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;
}
location ~ \.php$ {
proxy_pass http://test; 后面不能加/http://test/是錯誤的
}
#配置動靜結合
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
#訪問目錄
root /test/web;
expires 3d;
}
}
二、weight權重輪詢
指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
例如:
upstream bakend {
server 192.168.159.10 weight=5;
server 192.168.159.11 weight=10;
}
三、ip_hash(基于ip的hash分配策略)
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
例如:
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
四、fair(第三方)基于服務響應式
按后端服務器的響應時間來分配請求,響應時間短的優先分配。
upstream resinserver{
server server1;
server server2;
fair;
}