asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel)
概述
本文目的是搭建三台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)相关推荐
- haproxy + keepalived + mycat 高可用与负载均衡集群配置 centos7
架构如上,但是其实keepalived.haproxy.Mycat都可以多台(比如keepalived.haproxy.Mycat各3台,3台keepalived抢占vip,然后抢到vip的hapro ...
- (八)企业部分之nginx+tomcat+memcached负载均衡集群搭建
[server1] vim /usr/local/lnmp/tomcat/conf/context.xml <Context> ...... <Manager className=& ...
- docker初体验:docker部署nginx负载均衡集群
Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...
- Linux平台上搭建apache+tomcat负载均衡集群
传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...
- 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建
负载均衡集群介绍 LVS介绍 lvs的NAT模式介绍 这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务 ...
- 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建
2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属 ...
- 搭建Nginx+Tomcat 负载均衡集群
Nginx+Tomcat 负载均衡集群 一. 实验拓扑: 二. 实验要求: 1. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar ...
- 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建
2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...
- 汇总-13台虚拟机搭建一个高可用负载均衡集群架构
要求 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,具体需求如下. 设计你认为合理的架构,用visio把架构图画出来 搭建lnmp.tomcat+jdk环境 三个站点分别为:dis ...
最新文章
- maven项目中 把依赖的jar包一起打包
- 如何查询当前手机的cpu架构,so库导入工程又出异常了?
- 伟世盾安助国电高级培训中心实现一网双管
- 张志华 机器学习 两门课程正确顺序及视频连接
- c java 异常_javac -version 异常
- DPM(Deformable Parts Models)-----目标检测算法理解
- 30分钟学会使用grunt打包前端代码
- ES基础概念和集群概念
- vscode 运行python代码没有输出(Code runner)
- python的mysql模块_Python中操作mysql的pymysql模块详解
- 序列化和反序列化的概念
- VOSviewer | (一)从零安装教程
- opencv的下载与安装
- 能量时域空间物理_定性半定量物理学——1.如何理解倒空间?
- 积分器-微分器-抽取器
- 重签名ipa步骤及工具
- 【SQL Server】数据库开发指南(二)MSSQL数据库开发对于库、表、数据类型、约束等相关操作
- 微型计算机只能识别的语言,计算机唯一能直接识别和处理的语言是( )。
- 102-并发编程详解(中篇)
- 英语计算机工程技术学院,加拿大本科热门专业:电子与计算机工程