安装运行时
# 更新源
sudo apt-get update
# 安装 8.0 的运行时
sudo apt-get install -y aspnetcore-runtime-8.0
SkiaSharp(图片处理库)
包引用
1 SkiaSharp
2 SkiaSharp.NativeAssets.Linux.NoDependencies
发布时
目标运行时要选择 Linux 相关的选项,在发布时才会含有 libSkiaSharp.so 库。
部署
将发布的程序文件通过 FTP 上传到 Linux 服务器上。
运行
测试运行
dotnet xxxx.dll --urls=http://*:5005
这样的运行方式程序会随 shell 会话的结束而停止, 建议用 nohup 命令来启动程序,让程序在后台运行:
nohup dotnet xxxx.dll --urls=http://*:5005
正式运行
正式运行应该以服务的方式来运行,以保证程序会随系统的启动一起运行。
创建服务配置文件:
sudo vim /etc/systemd/system/Test.WebApp.service
编辑配置内容:
[Unit]
Description=Test.WebApp
[Service]
# 进程的工作目录:必须明确指定,默认值会导致 ContentRootPath 和 WebRootPath 指向错误
WorkingDirectory=/var/www/site001/
# 通过 dotnet 命令运行我们的程序
ExecStart=dotnet /var/www/site001/Test.WebApp.dll
# 非正常退出时总是重启
Restart=always
# 指定登录用户(该用户必须具有运行该程序的权限)
User=wbh
# DOTNET相关环境变量设置
Environment=ASPNETCORE_URLS=http://*:5005
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
保存服务配置文件,然后启动服务:
sudo systemctl start Test.WebApp.service
查看服务状态以确认服务配置正确及程序正常运行:
sudo systemctl status Test.WebApp.service
确认程序正常运行之后,在防火墙中打开端口就能通过其它计算机访问应用程序了。
最后,最好是通过 Nginx 配置 ssl 证书之后进行反向代理为好!