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

时间:2018-11-13 11:33:37

标签: linux asp.net-core ubuntu-16.04 implementation 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

问候,已经非常感谢您

2 个答案:

答案 0 :(得分:2)

我遇到了和您一样的问题和错误。经过3个小时的测试,我通过删除'上的单引号WorkingDirectory来解决了这个问题。您的位置是ExecStart。只需删除ExecStart=/usr/bin/dotnet '/home/implementacion/MasterProduct.dll'末尾的单引号即可。然后运行

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

它将起作用。

答案 1 :(得分:0)

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

找到了一个临时解决方案
  

主管http://supervisord.org/

此应用程序/守护程序提供了有关错误的更多信息,更易于使用。