2019独角兽企业重金招聘Python工程师标准>>>

对.Net Core的学习和实践,已经进行了一年多的世间,截止目前,微软已经发布.Net Core2.1,关于.NetCore的应用部署的文章比比皆是。今天借此,回顾下.net core环境的部署过程。

首先,我这边采用的是CentOS7+上的版本,.net core2.1。在动手前,我们先做这样的思考

如何部署一个正式的.net core2.1项目?

解决方案有:

1、利用.net core runtime及.net core sdk,将编译好的项目,发布至服务器上,然后运行dotnet application.dll命令。

这样程序就运行起来,但是要想让.net core程序进程一直存在,就需要做其它方面的工作了,比如网上介绍的比较多的supervisor守护进程服务,这样可以保证.net core程序,在终端关闭后,仍然可以运行。

2、利用跨平台服务器Jexus。

3、利用docker容器技术,让.net core程序运行在docker容器中。

当然,这里肯定还有其它解决方案,比如Nancy之类的,这里不做进一步的阐述了。

接下来,我们就针对,第一种方式,采用python开发的supervisor服务,来守护.net core进程。

然后,我们再想了,当守护进程安装配置完成后,我们再安装一个web服务器,如nginx作为.net core程序的代理服务器。

于是得出,此次实践中,我们分别需要,安装配置.net core、supervisor、nginx等,那接下来,我们就分别针对这三种环境的配置,进行介绍:

1、.net core的安装,这个可以在官方网站找到进一步的说明https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial

首先是下载软件包:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

然后,通过yum命令来进行.net core sdk的安装(安装sdk时.net core运行时也一并被安装了)。

sudo yum update
sudo yum install dotnet-sdk-2.1

等待安装完成即可。通过dotnet --info/--version命令可以查看版本信息。

[root@cce9311ee74bc4f27afe8f58e5e0b5021-node2 ~]# dotnet --info
.NET Command Line Tools (2.1.101)Product Information:Version:            2.1.101Commit SHA-1 hash:  6c22303bf0Runtime Environment:OS Name:     centosOS Version:  7OS Platform: LinuxRID:         centos.7-x64Base Path:   /usr/share/dotnet/sdk/2.1.101/Microsoft .NET Core Shared Framework HostVersion  : 2.0.6Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d

这样.net core2.1环境就安装好了。

2、supervisor服务的安装。

这个具体参考我的另一篇博客 https://my.oschina.net/lichaoqiang/blog/1861791

3、NGINX的安装

这里,我们是直接通过yum命令来安装的。

首先是下载了软件包管理

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

通过yum来安装nginx

yum -y install nginx

启动nginx服务

systemctl start nginx.service
systemctl enable nginx.service

默认,nginx配置文件在/etc/nginx/目录下。命令进入/etc/nginx/conf.d文件夹,为我们的.net core应用程序创建一个配置文件

server {listen       80;server_name  www.demo.com;#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;location / {proxy_pass http://localhost:5000;index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}

然后重新加载 配置文件:

/usr/nginx/sbin/nginx/ -s reload

完成以上三步后,我们supervisorctl restart 应用程序.dll即可。

最后,通过vs的发布功能,发布我们的.net core项目,避免nuget引用包导致的问题,这里我们发布的时候,目标运行时选linux-x64。

关于.net core部署正式环境,就介绍到这里。

转载于:https://my.oschina.net/lichaoqiang/blog/1861977

CentOS+Nginx+Supervisor部署ASP.NET Core项目相关推荐

  1. .NET开发框架(五)-IIS上部署ASP.NET Core项目教程

    在之前教程中,我们分享了框架的功能与视频演示介绍(文尾底部提供往期教程快捷链接) 系列教程:从初学者到架构师的一步步蜕变 本篇经验将和大家介绍如何在IIS上部署ASP.NET Core项目,希望对初学 ...

  2. Centos下使用Docker部署asp.net core项目

    本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...

  3. 在centos 7.4上使用jexus 部署 asp.net core 项目

    直接用dotnet xx.dll命令是可以部署asp.net core项目的,包括https也可实现.但是用jexus有以下几个好处: 1.jexus可以守护dotnet进程 2.同一服务器,同一端口 ...

  4. 从零实操基于WSL2 Docker部署Asp.Net Core项目

    前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...

  5. 从零开始,在阿里云,腾讯云centos8系统上,利用docker部署asp.net core项目的一次实践,总结

    第一部分:注意事项,前言 注意点:建议选择centos8系统,安装docker建议安装最新,详细见下文,非常重要 注意点:建议选择centos8系统,安装docker建议安装最新,详细见下文,非常重要 ...

  6. 在IIS上部署你的ASP.NET Core项目

    概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kest ...

  7. 在Linux环境下使用Apache部署ASP.NET Core

    在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Ap ...

  8. 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序

    前言: 随着ASP.NET Core 1.0的发布,论坛里相关的文章也越来越多,正好有时间在测试环境上搭建 ASP.NET Core的发布环境,把过程中遇到的问题写给大家,以便有用到的朋友需要. 环境 ...

  9. 在 Azure 上部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...

最新文章

  1. avogadro_Avogadro
  2. 《Unit Testing》1.3 使用覆盖率指标来度量测试套件的好坏
  3. 微信JS-SDK实现分享功能
  4. java double add,Java中的DoubleStream.Builder add()方法
  5. android Fragments详解六:处理fragement的生命周期
  6. Golang实践录:工程管理
  7. python基础编程语法-Python基础及语法(十三)
  8. 目标检测应用竞赛 | 天池铝型材表面瑕疵(含数据集、详细解决方案)
  9. 转载:常见的15种音频格式
  10. 二阶无源低通滤波器幅频特性曲线_一文看懂二阶lc低通滤波器的设计及原理
  11. 2021-01-15
  12. 奥运五环的含义及其颜色对应码
  13. Linux通过黑、白名单限制IP登录
  14. 使用Fiddler对手机App抓包
  15. C语言中文字符索引,C语言关键字中英文对照索引
  16. python照片查重_Python 进行excel查重
  17. UAP:SECURITY PROTOCOL IN/OUT Command
  18. 计算机显示丢失d3dcompiler,无法启动此程序提示缺少d3dcompiler文件怎么解决
  19. 化妆品APP开发快速制作
  20. 树形结构的数据与一维数组数据的相互转换

热门文章

  1. 计算机更新80072f76,windows update 80072f76错误
  2. c++中wstring 和 string的转换
  3. ARM Cotex-M4数据手册4---System Control
  4. css中相对定位和绝对定位
  5. Asp.Net MVC5入门学习系列⑤
  6. [译]使用asp.net mvc 的工具提示
  7. 【转自小峰博客】协调器的启动【自动模式】
  8. 诗与远方-:无题(六十九)
  9. [蓝桥杯][2019年第十届真题c/c++B组]完全二叉树的权值
  10. 通过链表深入理解Java的引用和对象