asp.net core 二 Nginx Supervisor 负载,监听

ASP.NET Core负载均衡集群搭建(CentOS7+Nginx+Supervisor+Kestrel)

asp.net core在linux运行下,一但命令行退出,程序将停止,而且asp.net core的监听以及负载问题将在这里说明

参考连接:http://www.linuxidc.com/Linux/2016-11/136997.htm http://www.sohu.com/a/192683690_468635  https://www.cnblogs.com/ants/p/5732337.html

  1. 跨平台是ASP.NET Core一个显著的特性,而KestrelServer是目前微软推出了唯一一个能够真正跨平台的Server。KestrelServer利用一个名为KestrelEngine的网络引擎实现对请求的监听、接收和响应。KetrelServer之所以具有跨平台的特质,源于KestrelEngine是在一个名为libuv的跨平台网络库上开发
  2. Supervisor 实现监听的守护,保证监听在后台持续运行,避免命令行形式
  3. 配置Supervisor 为服务,开机启动,这样Supervisor监听的网站就可以开机自动启动
  4. Nginx 负载

在asp.net core项目中,默认使用的是Kestrel Server ,进行请求监听

      public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)   //这句代码默认使用了Kestrel F12查看源,如下:
                .UseUrls("http://*:8080";)
                .UseStartup<Startup>()
                .Build();
        // 备注:
        //     The following defaults are applied to the returned Microsoft.AspNetCore.Hosting.WebHostBuilder:
        //     use Kestrel as the web server, set the Microsoft.AspNetCore.Hosting.IHostingEnvironment.ContentRootPath
        //     to the result of System.IO.Directory.GetCurrentDirectory, load Microsoft.Extensions.Configuration.IConfiguration
        //     from ‘appsettings.json‘ and ‘appsettings.[Microsoft.AspNetCore.Hosting.IHostingEnvironment.EnvironmentName].json‘,
        //     load Microsoft.Extensions.Configuration.IConfiguration from User Secrets when
        //     Microsoft.AspNetCore.Hosting.IHostingEnvironment.EnvironmentName is ‘Development‘
        //     using the entry assembly, load Microsoft.Extensions.Configuration.IConfiguration
        //     from environment variables, load Microsoft.Extensions.Configuration.IConfiguration
        //     from supplied command line args, configures the Microsoft.Extensions.Logging.ILoggerFactory
        //     to log to the console and debug output, enables IIS integration, enables the
        //     ability for frameworks to bind their options to their default configuration sections,
        //     and adds the developer exception page when Microsoft.AspNetCore.Hosting.IHostingEnvironment.EnvironmentName
        //     is ‘Development‘
        public static IWebHostBuilder CreateDefaultBuilder(string[] args);

supervisor,主要负责进程服务的监听,在asp.net core以及supervisor安装部署配置完成之后,一个为Supervisor管理界面,一个为asp.net core网站,可通过Supervisor管理网站的启停,可管理多个网站

安装Nginx

然后修改配置文件 /etc/nginx/con.d/default.conf,需要关闭Selinux,否则负载不会成功

原文地址:https://www.cnblogs.com/xiangchangdong/p/8489585.html

时间: 2024-10-30 02:55:53

asp.net core 二 Nginx Supervisor 负载,监听的相关文章

ASP.NET Core 搭配 Nginx 的真实IP问题

原文:ASP.NET Core 搭配 Nginx 的真实IP问题 一.前言 Nginx(Engine X)是一个高性能HTTP和反向代理服务,是由俄罗斯人伊戈尔·赛索耶夫为访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 如果你是一名 ASP.NET Core 开发人员,并且你的 ASP.NET Core 应用部署在Linux上,相信你应该或多或少与 Nginx 有过接触,在我们将 ASP.NET Core 部署在 Linu

Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket差

Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket差别 Nginx连接fastcgi的方式有2种:unix domain socket和TCP,Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信.与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流.Unix domain sockets的接口和Internet socke

K8S+GitLab-自动化分布式部署ASP.NET Core(二) ASP.NET Core DevOps

一.介绍 前一篇,写的K8S部署环境的文章,下面正式开始部署ASP.NET Core 项目. 二.正式部署ASP.NET Core项目 GitHub地址: https://github.com/gyw1309631798/Deploy-API. 我创建了一个ASP.NET Core 2.1 WebAPI项目 里面包含了deploy.yaml,Dockerfile文件. 要在K8S上部署首先要添加regsecret ,不然从Harbor pull会失败. kubectl create namesp

ASP.NET Core (二):入门

上一篇:ASP.NET Core(一):简介 下一篇:(待续) 英文原版:Getting Started 1. 安装 .NET Core 2. 创建 .NET Core 项目 在命令提示符窗口输入命令: mkdir aspnetcoreapp cd aspnetcoreapp dotnet new 3. 更新 project.json 文件,将 Kestrel HTTP 服务器程序包作为依赖添加到文件中 { "version": "1.0.0-*", "b

nginx同一端口监听多个域名和同时监听http,https

1.同一端口监听多个域名 如今公网ip资源越来越珍贵,多域名监听应用非常广泛,就是用一个端口,比如80或者443,监听多个入口域名.如下: server {        listen 443 ssl;        server_name  xxx.xxx.cn;        ssl_certificate         ssl/server.pem;        ssl_certificate_key  ssl/server.key; ...... } 在启用新的域名的时候,只需要另启

nginx源代码分析--监听套接字的创建 套接字的监听 HTTP请求创建连接

作为一个webserver,那么肯定是有监听套接字的,这个监听套接字是用于接收HTTP请求的,这个监听套接字的创建是依据配置文件的内容来创建的,在nginx.conf文件里有多少个地址就须要创建多少个监听套接字.这里不说各个结构体的构造 仅仅说大体情况! 1).首先在main函数中调用了ngx_init_cycle()函数,在这个函数的最后调用了ngx_open_listening_sockets函数,这个函数负责将创建的监听套接字进行套接字选项的设置(比方非堵塞.接受发送的缓冲区.绑定.监听处

ASP.NET Core学习之一 入门简介

一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问题”,是简单的问题,对,就是简单,就是因为觉得简单被忽略的东西,恰恰这才是最重要的. 1.学习资料 首先,介绍下哪里可以获得学习资料 英文官网,最好的文档,英语得过硬 https://docs.microsoft.com/en-us/aspnet/core/ 可惜当年英语就是马马虎虎过来的,所以找了

ASP.NET Core原理概述

ASP.NET Core 是一个控制台应用程序,在其 main 方法中创建一个Web服务器,以下是program.cs中的代码: using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; namespace WebApplication5 { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } p

Asp.net core 简单介绍

Asp.net core 是一个开源和跨平台的框架,用于构建如WEB应用,物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.asp.net core 应用可运行.net和.netframework之上. 它由最小开销的模块化的组件构成,因此在构建解决方案的同时可以保持灵活性.Asp.net Core不再基于System.Web.dll.当前它基于一系列颗粒化的,并且有良好构建的NuGet包. 1.Asp.net Core应用 Asp.net Core应用实际上是一个在Mai