【发布时间】:2020-03-16 01:08:32
【问题描述】:
我目前正在开发一个使用本指南运行 .net 代码的网站:
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-3.1
还有这个安装 .net core SDK 的指南(我在故障排除时安装了 2.1 和 3.1):
https://docs.microsoft.com/en-ca/dotnet/core/install/linux-package-manager-fedora31
我正在尝试配置 apache 代理服务器以向 Kestrel 服务器发送请求,但我在 /etc/systemd/system/kestrel-helloapp.service 的服务出现问题。
我的服务代码是:
[Unit]
Description=Started service
[Service]
WorkingDirectory=/var/www/html/PublishedVersion
ExecStart=/usr/share/dotnet /var/www/html/PublishedVersion/Website.dll
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Enviroment=ASPNETCORE_ENVIROMENT=Production
[Install]
WantedBy=multi-user.target
服务状态为:
Mar 15 19:37:38 localhost.localdomain systemd[1]: Started service
Mar 15 19:37:38 localhost.localdomain systemd[1706]: kestrel-helloapp.service: Failed to execute command: Permission denied
Mar 15 19:37:38 localhost.localdomain systemd[1706]: kestrel-helloapp.service: Failed at step EXEC spawning /usr/share/dotnet: Permission denied
Mar 15 19:37:38 localhost.localdomain systemd[1]: kestrel-helloapp.service: Main process exited, code=exited, status=203/EXEC
Mar 15 19:37:38 localhost.localdomain systemd[1]: kestrel-helloapp.service: Failed with result 'exit-code'.
与指南代码相比,我的服务代码有三个主要区别:
第一个:我已经移除了自动重启,所以它不会让我的机器陷入困境。
第 2 次:我已将 ExecStart=/usr/local/dotnet 更改为 ExectStart=/usr/shared/dotnet,我这样做是因为我的 .net 安装不在那个位置,因为某种我无法理解的原因。
3rd:我已将User=apache 更改为User=root 以尝试进行故障排除,我机器上唯一的用户是root,因为这台机器仅用于学校用途。
我还将我机器上的 SELinux 设置更改为允许并最终禁用以尝试进行故障排除。
我还是新手,在课堂上没有看到这些,所以放轻松。
感谢您的时间/回答。
【问题讨论】:
标签: asp.net-mvc apache fedora web-development-server kestrel-http-server