不通过systemd或ctl,直接到站点的目录,运行
./SGT.DiggApis.Svc
是可以正常运行的。
说明netcore.runtime是正常安装了的。
查看 ctl status,又只会给出失败了但是具体原因就是不给:
现在关键是ctl启动的时候的错误原因找不到,实际上是有方法的:
以上信息告知最后运行的PID是2331,那么就运行下列命令:
journalctl _PID=2331
这个时候会发现有报错信息为 。netCORE 找不到 (截图已经找不到了)我去。。 明明core runtime已经安装了的啊!操蛋!
service的配置文件再加上一句:
Environment=DOTNET_ROOT=/root/.dotnet
而这个路径也绝非乱加,是来自 dotnet --info:
整体配置文件就是:
[Unit]
Description=Digg Apis Svc
After=network.target
[Service]
Type=simple
User=root
Restart=always
RestartSec=5
WorkingDirectory=/sites/svcs/
ExecStart=/sites/svcs/SGT.DiggApis.Svc
ExecReload=/sites/svcs/SGT.DiggApis.Svc
LimitNOFILE=1048576
Environment=DOTNET_ROOT=/root/.dotnet
[Install]
WantedBy=multi-user.target
秋林给我的配置文件还有两句:
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
这里暂时就没有用上了。
问题的关键还是 journalctl 来找到具体的进程的错误信息,根据错误信息才能精确定位到解决方案。
标签:core,systemd,配置文件,sites,systemctl,DiggApis,dotnet From: https://www.cnblogs.com/wenzd/p/17894818.html