首页 > 代码库 > linux+asp.net core+nginx四层负载均衡
linux+asp.net core+nginx四层负载均衡
Linux Disibutaion:Ubuntu 16.04.1 LTS
Web Server:Nginx、Kestrel
关于如何在linux中部署asp.net core我这里不再详细介绍,可以参考ASP.Net Core 运行在Linux(Ubuntu)
这里我需要三台VM:
nginxvm01:做负载均衡服务器
nginxvm02:服务节点1
nginxvm03:服务节点2
大致服务架构如下图:
配置负载均衡节点(nginxvm01):
sudo apt-get install -y nginxsudo touch /etc/nginx/sites-available/nginxlb-proxysudo vi /etc/nginx/sites-available/nginxlb-proxy
nginx网站配置文件都在/etc/nginx/sites-available目录下。
激活的网站在/etc/nginx/sites-enabled目录下。
nginx配置文件参考Configuration File Structure in the Nginx Guide
将一下内容写入nginxlb-proxy文件中:
upstream nginxlb{ server nginxservice.cloudapp.net:8082; server nginxservice.cloudapp.net:8083;}server { listen 8081 default_server; server_name nginxservice.cloudapp.net; location / { proxy_pass http://nginxlb; proxy_set_header X-Real-IP $remote_addr; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; }}
使用nginx做负载均衡有多种模式,参考官网Using nginx as HTTP load balancer
nginx的几种负载方式我都测试过。
重启加载nginx配置文件
sudo nginx -tsudo nginx -s reload
到了这一步,nginx默认启用的站点是default,我们需要改变启用的站点为nginxlb-proxy
sudo ln -s /etc/nginx/sites-available/nginxlb-proxy /etc/nginx/sites-enabled/ #删除默认启用的站点defaultsudo rm /etc/nginx/sites-enabled/default #重启nginxsudo service nginx restart
服务节点asp.net core网站部署步骤,参考之前的博客。
linux+asp.net core+nginx四层负载均衡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。