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网站部署步骤,参考之前的博客。

时间: 2024-10-10 09:06:27

linux+asp.net core+nginx四层负载均衡的相关文章

nginx四层负载均衡配置

nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 没安装则进行安装 操作步骤如下 至此 已保证在没中断服务的情况下成功添加stream模块 步骤二 配置 mysql负载均衡案例 修改Nginx配置文件nginx.conf 内容如下图 测试步骤如下 后端Mysql需做好读写分离 创建好相应权限的用户 到客户端连接Nginx创建wuguiyunwei

linux 下Haproxy实现简单四层负载均衡

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. Haproxy的四层负载均衡搭建 主机规划: server 192.168.1.148  提供haproxy服务 后台  web1  192.168.1.150 web2  192.168.1.136 使用源码包安装 解压: tar -zxvf haproxy-1.4.24.tar.gz 进入到解压目录: cd  haproxy-1.4.24 编译: make TARGE

linux+asp.net core+nginx+sql server

Linux Disibutaion:Ubuntu 16.04.1 LTS Web Server:Nginx.Kestrel 安装.net core sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --key

配置Nginx四层负载均衡

nginx 支持TCP转发和负载均衡的支持 实现下面的架构: 看配置: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } tcp { upstream toov5{ server 1

Linux下搭建一个nginx+2tomcat负载均衡环境

一.安装tomcat 1.将tomcat安装包上传到Linux下: 2.解压2个tomcat,并分别修改名称: 1).解压命令:unzip 2).修改用户名:mv 3.分别修改两个tomcat的端口号,修改文件: 第一台的端口号可以用默认的8080: 修改第二台的端口号: 4.启动两台tomcat,并在本地浏览器访问,看是否正常: 第一台: 第二台: 备注:如果两个Tomcat部署了同个项目,安装时可以选择同个数据库名称,这样两个服务就可以公用同个数据库 二,安装 1.安装编译工具及库文件 yu

Linux 下 tomcat基于nginx做负载均衡

测试目的:在一台装有nginx服务器上访问nginx这台的ip地址,刷新一次就会显示后端三台不同的tomcat服务器的测试页. 测试环境:三台centos 6.8 一台 centos 7.3 软件版本: nginx 1.12.1 tomcat 8 软件部署的话 就不操作了 之前已经部署好了的,不会的话 看我之前的博客里都有. nginx 安装 http://dklwj.blog.51cto.com/9199080/1949570 tomcat 安装: http://dklwj.blog.51ct

linux+nginx+tomcat负载均衡,实现session同步

linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞定,现把我的过程贴上来,以备用.软件及环境是:虚拟机上装centos 5.5IP为:192.168.0.51 装上nginx和tomcat  6.0.32 命名为 Tomcat1一台win7上装tomcat  6.0.32  IP为:192.168.0.50  命名为 Tomcat2 首先装ngin

【Nginx】四层负载均衡配置

一.概述 二.配置 2.1 环境准备 2.2 安装及配置 1).下载Nginx 2).下载nginx_tcp_proxy_module 插件 3).编译Nginx 4).修改Nginx.conf配置文件 5).测试 一.概述 Nginx1.9之后,开始支持四层负载均衡,需要引入额外的模块 二.配置 2.1 环境准备 #测试环境 CentOS7 #Nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. #stream模块默认不安装的,需要手动添加参数:–

Linux下利用nginx实现负载均衡

linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配置文件. 我们要实现的架构图如下: 1.分别部署3个tomcat,端口分别为8080,8081,8082 drwxr-xr-x 9 root root 4096 Mar 11 13:41 tomcat8-8080drwxr-xr-x 9 root root 4096 Mar 11 17:27 tom