.net core在Linux系统部署

 

当前小菜的环境:Window 7,vs2017

 

1,.netCore Demo项目

暂且使用默认模板,这个和平常webForm,winForm一样创建,这里就略过了。

 

2,创建好默认工程后,直接iis Express运行,查看效果

2.1,可以发布后,使用CLI运行

 

.net core在Linux系统部署

 

3,发布工程

3.1,当前工程配置文件appsetting.json

 

对dependencies属性的"type": "platform"进行注释

对prepublish属性值进行替换,替换如下"prepublish": [ "bower install", "dotnet bundle" ]

添加以下对象

"runtimes": {
    "centos.7-x64": {}

}

 

 

3.2,在当前工程目录下,打开CLI

 

3.3,执行以下命令行

dotnet publish -r centos.7-x64

 

3.4,对发布后的代码进行压缩包,方便服务器上传

目录是~\bin\Debug\netcoreapp2.0\centos.7-x64\publish

 

4,服务器和域名准备

百度云购买BCC,系统: CentOS Linux 7.5.1804 (Core)

linux系统买好后,直接安装了宝塔,搭建了LNMP环境,所以这个篇博客就略过nginx安装了。

4.1,linux环境安装.netCore

参考官网

https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-current

 

dotnet xxx.dll

提示aspnetcore不存在时执行以下代码

sudo yum install aspnetcore-store-2.0.7

 

5,服务

安装配置守护进程(Supervisor)

使用Supervisor对ASP.NET Core网站应用进行监控,使网站可以持续运行,不然退出Shell后网站就停止了。

$ # 安装Supervisor

$ yum install python-setuptools

$ easy_install supervisor

$ #配置Supervisor

$ mkdir /etc/supervisor

$ echo_supervisord_conf > /etc/supervisor/supervisord.conf

修改supervisord.conf文件,将文件最后的内容修改如下:

创建目录conf.d,在目录下创建文件TestAspNetCoreWeb.conf

文件内容如下:

[program:TestDotNetCoreWeb]

command=dotnet TestAspNetCoreWeb.dll

directory=~/dotnet/PublishOutput

autorestart=true

stderr_logfile=/var/log/TestDotNetCoreWeb.err.log

stdout_logfile=/var/log/TestDotNetCoreWeb.out.log

environment=ASPNETCORE_ENVIRONMENT=Production

user=root

stopsignal=INT

运行supervisord并查看进程是否生效。

$ supervisord -c /etc/supervisor/supervisord.conf

$ ps -ef | grep TestDotNetCoreWeb

配置文件如有修改,使用命令supervisorctl reload重新加载。

以上步骤是小菜亲自测试的结果

.net core在Linux系统部署