安裝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