nginx 汇总
各类 nginx 问题汇总
安装 nginx
1 #centos
2 yum install nginx
3 #ubuntu
4 apt install nginx
http 代理
正向代理
1 server {
2 listen 80;
3 server_name www.nbtyfood.com;
4
5 location / {
6 proxy_pass http://127.0.0.1:8080;
7 }
8 }
反向代理
负载均衡
1 upstream mysvr {
2 server 192.168.10.121:3333;
3 server 192.168.10.122:3333;
4 }
5 server {
6 ....
7 location ~*^.+$ {
8 proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
9 }
10 }
- 热备
如果你有 2 台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA 突然 A 挂啦,BBBBBBBBBBBBBB…..
1 upstream mysvr {
2 server 127.0.0.1:7878;
3 server 192.168.10.121:3333 backup; #热备
4 }
- 轮询
nginx 默认就是轮询其权重都默认为 1,服务器处理请求的顺序:ABABABABAB….
1 upstream mysvr {
2 server 127.0.0.1:7878;
3 server 192.168.10.121:3333;
4 }
- 加权轮询
跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为 1。下面服务器的请求顺序为:ABBABBABBABBABB….
1 upstream mysvr {
2 server 127.0.0.1:7878 weight=1;w
3 server 192.168.10.121:3333 weight=2;
4 }
- ip_hash nginx 会让相同的客户端 ip 请求相同的服务器。
1 upstream mysvr {
2 server 127.0.0.1:7878;
3 server 192.168.10.121:3333;
4 ip_hash;
5 }
web 缓存
1 location /images/ {
2 proxy_cache my_cache;
3 proxy_ignore_headers Cache-Control;
4 proxy_cache_valid any 30m;
5 # ...
6}
重定向
1 rewrite ^/(.*) http://www.nbtyfood.com/$1 permanent;