Nginx 負載均衡

安裝nginx


 
  1. > sudo apt-get update

  2. > sudo apt-get install nginx

配置

安裝完成後,配置文件默認路徑:

/etc/nginx

我們在/etc/nginx/nginx.conf中的http模塊可以看到:


 
  1. ##

  2. # Virtual Host Configs

  3. ##

  4.  
  5. include /etc/nginx/conf.d/*.conf;

  6. include /etc/nginx/sites-enabled/*;

所以我們可以在conf.d文件夾下面創建反向代理文件:


 
  1. > sudo touch proxy_172.conf

  2. > sudo vim proxy_172.conf

  • 1
  • 2

寫入如下配置:


 
  1. server

  2. {

  3. listen 8081;

  4. server_name localhost;

  5. location / {

  6. proxy_redirect off;

  7. proxy_set_header Host $http_host;

  8. proxy_set_header X-Real-IP $remote_addr;

  9. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  10. proxy_pass http://192.168.71.172:80;

  11. }

  12.  
  13. access_log /var/log/nginx/proxy_172.log;

  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),則可以使用負載均衡給服務器減少壓力。


 
  1. > cd /etc/nginx/conf.d

  2. > sudo touch proxy_172_173.conf

  3. > sudo vim proxy_172_173.conf

  • 1
  • 2
  • 3

寫入如下配置:


 
  1. upstream web_server {

  2. server 192.168.71.172:80;

  3. server 192.168.71.173:80;

  4. }

  5.  
  6. server

  7. {

  8. listen 8082;

  9. server_name localhost;

  10. location / {

  11. proxy_redirect off;

  12. proxy_set_header Host $http_host;

  13. proxy_set_header X-Real-IP $remote_addr;

  14. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  15. proxy_pass http://web_server;

  16. }

  17.  
  18. access_log /var/log/nginx/proxy_172_173.log;

  19. }

現在訪問負載均衡服務器的8082端口會隨機跳轉到2個web服務器上:


 
  1. http://192.168.71.174:8082/ -> 192.168.71.172:80

  2. http://192.168.71.174:8082/ -> 192.168.71.173:80

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章