文章内容
2019/1/23 14:27:52,作 者: 黄兵
Nginx 多上游服务器问题
最近访客大增,网站服务器变得有些不稳定,因此需要扩展服务器数量,准备采用腾讯云的负载均衡,很费钱。作为一个个人开发者,很不划算,看了一下Nginx的文档,也可以做负载均衡。
现在有多个web服务器作为上游服务器,在nginx可以通过upstream来声明,定义多个server,具体写法如下:
upstream app{ server 127.0.0.1:5000; server 134.175.155.xxx:8000; } server { listen 80; listen [::]:80 ssl ipv6only=on; listen 443 ssl; listen [::]:443 ssl ipv6only=on; server_name www.xxx.com; location / { try_files $uri @gunicorn_proxy; } location @gunicorn_proxy { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app; proxy_connect_timeout 500s; proxy_read_timeout 500s; uwsgi_buffers 16 16k; uwsgi_buffer_size 32k; proxy_send_timeout 500s; } }
主要是注意proxy_pass的写法,本来在这篇文章:全面了解 Nginx 到底能做什么没搞明白,现在完全搞清楚了。
使用这个种方式,nginx将会通过轮询的方式连续的请求传递给3个上有服务器,在一个应用程序仅处理一个请求时,这个配置很有用。
参考资料:《精通Nginx》(第2版)[瑞士]Dimitri Aivaliotis 著,李红军 译
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - Nginx 多上游服务器问题
评论列表