安装nginx
-
> sudo apt-get update
-
> sudo apt-get install nginx
配置
安装完成后,配置文件默认路径:
/etc/nginx
我们在/etc/nginx/nginx.conf中的http模块可以看到:
-
##
-
# Virtual Host Configs
-
##
-
include /etc/nginx/conf.d/*.conf;
-
include /etc/nginx/sites-enabled/*;
所以我们可以在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;
-
}
重启服务器:
> 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;
-
}
现在访问负载均衡服务器的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