在ubuntu下安装Nginx:
sudo apt install nginx
nginx的配置文件有两个:
/etc/nginx/nginx.conf /etc/nginx/sites-enabled/default
在server块中增加配置,设置反向代理:
server{ listen 9001; server_name 127.0.0.1; location ~ /edu/ { proxy_pass http://127.0.0.1:8080; } location ~ /vod/ { proxy_pass http://127.0.0.1:8081; } }
增加server块,设置负载均衡:
server{ listen 9002; server_name 127.0.0.1; location / { proxy_pass http://myserver; } }
其中的myserver是在http块中增加的配置:
upstream myserver{ server 127.0.0.1:8080 weight=10; server 127.0.0.1:8081 weight=5; }
其中,weight是权重,默认为1,权重越大,分配到的客户端就越多。
weight权重分配是一种方法,还有其他分配方法。
ip_hash
upstream myserver{ ip_hash; server 127.0.0.1:8080; server 127.0.0.1:8081; }
每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。可以解决session的问题。
但是相应带来的问题就是:如果这台服务器挂了,那么这台服务器上面保存的所有的session全部丢失。
fair
upstream myserver{ fair; server 127.0.0.1:8080; server 127.0.0.1:8081; }
按后端服务器的响应时间来分配请求,响应时间短的优先分配
注意:在1.3版本之后,可以同时使用ip_hash和weight
动静分离配置:
在default中的server块中增加location块
location /a/ { root /data/; } location /image/ { root /data/; autoindex on; }
其中,autoindex的作用是显示访问目录
有时候会无法生效,可能是缓存原因,建议强制刷新。
---------------------
高可用以后有空再写