无法使用 SYSTEMCTL 在 ubuntu 16 服务器上实施 aspnet 核心

Failed to implement aspnet core on ubuntu 16 server with SYSTEMCTL

早上好朋友们,我在启动运行我的 aspnet 核心应用程序的服务时遇到问题,我传递错误日志:


● mproduct.service - Example .NET Web API Application running on Ubuntu
   Loaded: loaded (/etc/systemd/system/mproduct.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since mar 2018-11-13 08:17:07 -03; 4s ago
  Process: 28154 ExecStart=/usr/bin/dotnet /home/implementacion/MasterProduct.dll (code=exited, status=140)
 Main PID: 28154 (code=exited, status=140)

nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Main process exited, code=exited, status=140/n/a
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Unit entered failed state.
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Failed with result 'exit-code'.
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Service hold-off time over, scheduling restart.
nov 13 08:17:07 vps-1416160-x systemd[1]: Stopped Example .NET Web API Application running on Ubuntu.
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Start request repeated too quickly.
nov 13 08:17:07 vps-1416160-x systemd[1]: Failed to start Example .NET Web API Application running on Ubuntu.
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Unit entered failed state.
nov 13 08:17:07 vps-1416160-x systemd[1]: mproduct.service: Failed with result 'start-limit-hit'.

这些是服务文件中的说明

[Unit]
Description=Example .NET Web API Application running on Ubuntu

[Service]
WorkingDirectory=/home/implementacion
ExecStart=/usr/bin/dotnet '/home/implementacion/MasterProduct.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

你好,已经非常感谢你了

如果有人遇到同样的问题,我使用

找到了一个临时解决方案

supervisord http://supervisord.org/

这个application/daemon提供了更多关于错误的信息,更容易使用。

我遇到了和你一样的问题和同样的错误。玩了 3 个小时后,我通过删除 WorkingDirectory 处的单引号 ' 解决了这个问题。你的在 ExecStart。只需删除 ExecStart=/usr/bin/dotnet '/home/implementacion/MasterProduct.dll' 末尾的单引号即可。那么运行

sudo systemctl daemon-reload
sudo systemctl restart <your_service_name>.service

它会起作用。