码迷,mamicode.com
首页 > Web开发 > 详细

linux+asp.net core+nginx四层负载均衡

时间:2016-12-27 13:34:38      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:三台   使用   touch   start   rest   err   lin   pre   efault   

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 nginx
sudo touch /etc/nginx/sites-available/nginxlb-proxy
sudo 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 -t
sudo nginx -s reload

到了这一步,nginx默认启用的站点是default,我们需要改变启用的站点为nginxlb-proxy

sudo ln -s /etc/nginx/sites-available/nginxlb-proxy /etc/nginx/sites-enabled/  
#删除默认启用的站点default
sudo rm /etc/nginx/sites-enabled/default  
#重启nginx
sudo service nginx restart 

  

服务节点asp.net core网站部署步骤,参考之前的博客。

 

linux+asp.net core+nginx四层负载均衡

标签:三台   使用   touch   start   rest   err   lin   pre   efault   

原文地址:http://www.cnblogs.com/rampb/p/6225457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!