在Ubuntu上运行现有ASP.NET Core应用程序的最简单方法是什么?我发现了这个:https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction但我坚持这个:
我已经发布了应用程序并将其复制到我的Ubuntu,但我不知道如何“运行应用程序”。任何帮助都将非常感激。
答案 0 :(得分:4)
它真的像执行一样简单:
dotnet path/to/your/application.dll
然而,对于一个你真的想通过某种init系统来管理它的网站。您链接到的doc文件会告诉您如何使用Systemd启动您的应用程序。
/etc/systemd/system/myapp.service
将文件编辑为如下所示,在必要时替换相关部分:
[Unit]
Description=Example .NET Web API Application running on Ubuntu
[Service]
WorkingDirectory=/var/path/to/your/app
ExecStart=/usr/bin/dotnet /var/path/to/your/app/hellomvc.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
启用此类服务:
systemctl enable myapp.service
启动服务:
systemctl start myapp.service
检查您的服务是否正在运行:
systemctl status myapp.service
如果你有另一个init系统,说明书当然会有很大不同。
注意:这只会启动您计算机上运行的应用。如果您打算向公众提供服务,那么强烈建议您使用Nginx等代理,因为Microsoft尚未将Kestrel认证为边缘服务器。