如何在Ubuntu上运行已经开发的ASP.NET Core应用程序?

时间:2017-04-25 15:29:24

标签: c# ubuntu asp.net-core .net-core

在Ubuntu上运行现有ASP.NET Core应用程序的最简单方法是什么?我发现了这个:https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction但我坚持这个:enter image description here

我已经发布了应用程序并将其复制到我的Ubuntu,但我不知道如何“运行应用程序”。任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:4)

它真的像执行一样简单:

dotnet path/to/your/application.dll

然而,对于一个你真的想通过某种init系统来管理它的网站。您链接到的doc文件会告诉您如何使用Systemd启动您的应用程序。

  1. 创建服务定义文件,例如/etc/systemd/system/myapp.service
  2. 将文件编辑为如下所示,在必要时替换相关部分:

    [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
    
  3. 启用此类服务​​:

    systemctl enable myapp.service
    
  4. 启动服务:

    systemctl start myapp.service
    
  5. 检查您的服务是否正在运行:

    systemctl status myapp.service
    
  6. 如果你有另一个init系统,说明书当然会有很大不同。

    注意:这只会启动您计算机上运行的应用。如果您打算向公众提供服务,那么强烈建议您使用Nginx等代理,因为Microsoft尚未将Kestrel认证为边缘服务器。