• 概述

本文目的是搭建三台asp.net core 集群, 并配上 nginx做负载均衡

  • 首先准备要运行的源码

http://pan.baidu.com/s/1c20x0bA

准备三台服务器(或则虚拟机)  192.168.182.129  , 192.168.182.130 , 192.168.182.131

并将源码发布至三台服务器的 /root/aspnetcore/anuoapc 目录

  • 在三台机器上分别搭建如下环境

第一步:NET Core 安装 (centos 7)


1.

sudo yum install libunwind libicu

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

sudo ln -s /opt/dotnet/dotnet /usr/local/bin

2.

mkdir hwapp

cd hwapp

dotnet new

3.

dotnet restore

dotnet run

看到 hello world 就安装成功了 !

第二步:Nginx 安装

1.

curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.

rpm -ivh nginx.rpm

yum install nginx

3.

systemctl start nginx 来启动nginx。

systemctl enable nginx 来设置nginx的开机启动

4. 关闭防火墙 centos 7

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

5.

修改 /etc/nginx/conf.d/default.conf 文件。

将文件内容替换为:

upstream myserver {
server 192.168.182.129:9090;
server 192.168.182.130:9090;
server 192.168.182.131:9090;
}

server {
listen 80;

location / {
proxy_pass http://myserver;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

最后:

nginx –s reload 使其即时生效

6.关闭 SELinux

cd /etc/selinux/

打开 config 文件, 将里面的 SELINUX 值设置为 disabled

重启centos  使其生效

第三步 . 配置守护进程supervisor

1.安装 supervisor

yum install python-setuptools

easy_install supervisor

2.配置

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

3.修改supervisord.conf文件

将文件尾部的配置,修改为:

[include]

files = conf.d/*.conf

4.启动

supervisord -c /etc/supervisor/supervisord.conf

5.创建一个AnuoApc.conf 文件, 内容如下

[program:AnuoApc]

command=dotnet AnuoApc.Web.dll ; 运行程序的命令

directory=/root/aspnetcore/anuoapc/ ; 命令执行的目录

autorestart=true ; 程序意外退出是否自动重启

stderr_logfile=/var/log/AnuoApc.err.log ; 错误日志文件

stdout_logfile=/var/log/AnuoApc.out.log ; 输出日志文件

environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量

user=root ; 进程执行的用户身份

stopsignal=INT

6.

将文件拷贝至:“/etc/supervisor/conf.d/”下

supervisord reload 使其生效.

ps -ef | grep AnuoApc

如果看到 dotnet AnuoApc.Web.dll 进程则代表运行成功

第四步 修改源码, 并分别发布到三台

将源码中的 I am Node3 改成 Node2 发布至 三台中的某一台

并用以下命令让 , 发布生效:

supervisorctl restart AnuoApc

以此类推, 三台 分别发布不同的 hello world ! I am node1; hello world ! I am node2; hello world ! I am node3;

这样后面调用接口时可以看到负载到了那台机器

第五步 用PostMan 调用接口

连续点击三次

奇迹发生了, 分别负载到了三台.

至此 大功告成 ! ! !

推荐参考文章: http://www.cnblogs.com/ants/p/5732337.html

原文地址:http://www.cnblogs.com/anuo/p/5793264.html

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel)相关推荐

  1. haproxy + keepalived + mycat 高可用与负载均衡集群配置 centos7

    架构如上,但是其实keepalived.haproxy.Mycat都可以多台(比如keepalived.haproxy.Mycat各3台,3台keepalived抢占vip,然后抢到vip的hapro ...

  2. (八)企业部分之nginx+tomcat+memcached负载均衡集群搭建

    [server1] vim /usr/local/lnmp/tomcat/conf/context.xml <Context> ...... <Manager className=& ...

  3. docker初体验:docker部署nginx负载均衡集群

    Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...

  4. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  5. 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建

    负载均衡集群介绍 LVS介绍 lvs的NAT模式介绍 这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务 ...

  6. 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属 ...

  7. 搭建Nginx+Tomcat 负载均衡集群

    Nginx+Tomcat 负载均衡集群 一. 实验拓扑: 二. 实验要求: 1. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar ...

  8. 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...

  9. 汇总-13台虚拟机搭建一个高可用负载均衡集群架构

    要求 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,具体需求如下. 设计你认为合理的架构,用visio把架构图画出来 搭建lnmp.tomcat+jdk环境 三个站点分别为:dis ...

最新文章

  1. maven项目中 把依赖的jar包一起打包
  2. 如何查询当前手机的cpu架构,so库导入工程又出异常了?
  3. 伟世盾安助国电高级培训中心实现一网双管
  4. 张志华 机器学习 两门课程正确顺序及视频连接
  5. c java 异常_javac -version 异常
  6. DPM(Deformable Parts Models)-----目标检测算法理解
  7. 30分钟学会使用grunt打包前端代码
  8. ES基础概念和集群概念
  9. vscode 运行python代码没有输出(Code runner)
  10. python的mysql模块_Python中操作mysql的pymysql模块详解
  11. 序列化和反序列化的概念
  12. VOSviewer | (一)从零安装教程
  13. opencv的下载与安装
  14. 能量时域空间物理_定性半定量物理学——1.如何理解倒空间?
  15. 积分器-微分器-抽取器
  16. 重签名ipa步骤及工具
  17. 【SQL Server】数据库开发指南(二)MSSQL数据库开发对于库、表、数据类型、约束等相关操作
  18. 微型计算机只能识别的语言,计算机唯一能直接识别和处理的语言是( )。
  19. 102-并发编程详解(中篇)
  20. 英语计算机工程技术学院,加拿大本科热门专业:电子与计算机工程

热门文章

  1. AIX逻辑卷管理(LVM)
  2. 在终端(Terminal)中用颜色显示不同类型文件
  3. 流程再造:信息化建设的最佳拍档
  4. .NET6之MiniAPI(十七):缓存
  5. Win11新版右键菜单用不惯?一键切换回Win10经典版!
  6. 多线程环境下,程序真是危机四伏
  7. 何时使用领域驱动设计
  8. 跟我一起学.NetCore之文件系统应用及核心浅析
  9. 回归统计在DMP中的实战应用
  10. 【WPF】DataGrid多表头的样式设计