1.创建asp.net core nvc默认项目
2.发布项目
这里采用可移植发布到文件夹的方式
发布好的文件格式如下
3.在ubuntu服务上安装.netcore runtime
Microsoft PPA命令配置
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
更新apt
apt update
安装aspnetcore runtime
sudo apt install aspnetcore-runtime-6.0
4.把发布好的文件(publish文件夹)上传到ubantu服务器上(可以使用MobaXterm工具)
我这里上传到了/Home 文件目录下了,具体可以根据自己的需求放到适合的目录
5.运行,使用asp.net core 默认的服务器(kestrel)运行
切换到代码路径
cd /home/publish
使用dotnet 运行
dotnet aspcoremvc.dll
效果如下
上面把ssh 关闭,对应的服务进程也会随之关闭,所以接下来要把服务添加守护进程,使进程可以开机自启动。
Linux的Daemon管理路径:
cd /etc/systemd/system
新建一个service配置文件:
vi my-auth.service
vi编辑器中编写的配置信息:
[Unit]
Description=Auth .NET Web API App running on Ubuntu
[Service]
#发布代码文件路径
WorkingDirectory=/home/auth
#启动项目命令
ExecStart=/usr/bin/dotnet /home/auth/AuthServer.Host.dlll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
#服务标识
SyslogIdentifier=my-auth
User=root
#生产环境变量
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
退出并保存vi
wq
刷新daemon让配置生效
systemctl daemon-reload
查看所有.net core进程
ps -ef|grep dotnet
查看服务状态
systemctl status my-auth
服务正在运行,但未启用。 “Enabled”表示在服务器启动后自动启动。 这是所需的最终配置
sudo systemctl enable my-auth.service
停止或重启服务
systemctl stop my-auth
systemctl restart my-auth