zoukankan      html  css  js  c++  java
  • 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 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网站部署步骤,参考之前的博客。

  • 相关阅读:
    第一周学习总结
    lhgdialog窗口插件
    validate验证
    jxl自己写的例子
    jxl导入/导出excel
    struts2文件上传
    struts2基于注解的文件下载
    学校操场的印象
    我的开源项目:JPEG分析器
    我的开源项目:TS封装格式分析器
  • 原文地址:https://www.cnblogs.com/rampb/p/6225457.html
Copyright © 2011-2022 走看看