最近在uBuntu 16.04上部署了asp.net core程序,在这里把部署的全过程分享给需要的.net 码农们,有如错误之处欢迎拍砖指正。
目录
net core程序发布配置
linux安装nginx
linux安装 net core
创建服务文件
配制nginx
Nginx access.log配制
目录权限配制
net core程序发布配置
在项目文件(.csproj)中添加引入强制发布依耐的申明,如果不加入下面这段申请,发布的文件里只有项目的dll,nuget引用包的dll不会生成的。
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
Views文件是否要打包成dll( 默认是打包成dll),建议Views打包成dll 。如果Views不想打包成dll添加如下申明即可。不打包为dll的好处就是view文件动态编译,直接扔到服务器就生效了,不需要重启 net core 服务。
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
linux安装nginx
使用 apt-get
安装 Nginx。 安装程序将创建一个 systemd init 脚本,该脚本运行 Nginx,作为系统启动时 的守护程序。
sudo -s
nginx=stable # use nginx=development for latest development version
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install nginx
运行以下命令显式启动:
sudo service nginx start
检查nginx是否安装成功,如果出现版本号,则说明安装成功。
nginx -v
limux安装 net core 环境
以下两个方式选一个即可,方式一简单,只要运行命令即可。
方式一:源包安装
注册Microsoft key和依耐
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb安装.net core sdk