转自:https://blog.csdn.net/andybegin/article/details/78327231
安装nginx
> sudo apt-get update
> sudo apt-get install nginx
- 1
- 2
配置
安装完成后,配置文件默认路径:
/etc/nginx
我们在/etc/nginx/nginx.conf中的http模块可以看到:
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
- 1
- 2
- 3
- 4
- 5
- 6
所以我们可以在conf.d文件夹下面创建反向代理文件:
> sudo touch proxy_172.conf
> sudo vim proxy_172.conf
- 1
- 2
写入如下配置:
server
{
listen 8081;
server_name localhost;
location / {
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.71.172:80;
}
access_log /var/log/nginx/proxy_172.log;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
重启服务器:
> sudo service nginx restart
- 1
现在你访问反向代理服务器的8081端口,就会指向192.168.71.172服务器的80端口。
http://192.168.71.174:8081/ -> http://192.168.71.172:80/
- 1
负载均衡
如果你的web服务器有多个(192.168.71.172:80和192.168.71.173:80),则可以使用负载均衡给服务器减少压力。
> cd /etc/nginx/conf.d
> sudo touch proxy_172_173.conf
> sudo vim proxy_172_173.conf
- 1
- 2
- 3
写入如下配置:
upstream web_server {
server 192.168.71.172:80;
server 192.168.71.173:80;
}
server
{
listen 8082;
server_name localhost;
location / {
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://web_server;
}
access_log /var/log/nginx/proxy_172_173.log;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
现在访问负载均衡服务器的8082端口会随机跳转到2个web服务器上:
http://192.168.71.174:8082/ -> 192.168.71.172:80
http://192.168.71.174:8082/ -> 192.168.71.173:80