当前小菜的环境:Window 7,vs2017
1,.netCore Demo项目
暂且使用默认模板,这个和平常webForm,winForm一样创建,这里就略过了。
2,创建好默认工程后,直接iis Express运行,查看效果
2.1,可以发布后,使用CLI运行
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重新加载。
以上步骤是小菜亲自测试的结果
文章出自
core在Linux系统部署