Redhat Linux 8 ошибка службы systemd 203
Развернул образец веб-API Dot Net Core на экземпляре EC2 в папке /var/www/hello-app с использованием пользователя «ec2-user» в FileZilla.
Папка содержит необходимые библиотеки DLL и другие файлы Dotnet.
Установил веб-сервер Apache на экземпляре ec2 и запустил веб-сервер.
Запустите службу dotnet из командной строки, чтобы убедиться, что она работает, используя команду ниже.
cd /usr/lib64/dotnet
dotnet /var/www/helloapp/WebApi4.dll
- Я создал службу systemd для веб-API Dot net следующим образом.
sudo vim /etc/systemd/system/kestrel-helloapp.service
[Unit]
Description=Example .NET Web API App
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/lib64/dotnet /var/www/helloapp/WebApi4.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://localhost:5000
[Install]
WantedBy=multi-user.target
When I run following commands
sudo systemctl enable kestrel-helloapp.service
sudo systemctl start kestrel-helloapp.service
sudo systemctl status kestrel-helloapp.service
I get following error (203/EXEC) for the third command
[ec2-user@ip-172-31-81-1 dotnet]$ sudo systemctl status kestrel-helloapp.service
● kestrel-helloapp.service - Example .NET Web API App running on CentOS 7
Loaded: loaded (/etc/systemd/system/kestrel-helloapp.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2022-01-11 15:40:30 UTC; 6s ago
Process: 71626 ExecStart=/usr/lib64/dotnet /var/www/helloapp/WebApi4.dll (code=exited, status=203/EXEC)
Main PID: 71626 (code=exited, status=203/EXEC)
Jan 11 15:40:30 ip-172-31-81-1.ec2.internal systemd[1]: kestrel-helloapp.service: Main process exited, code=exited, status=203/EXEC
Jan 11 15:40:30 ip-172-31-81-1.ec2.internal systemd[1]: kestrel-helloapp.service: Failed with result 'exit-code'.
- Открыт порт 5000 с помощью
sudo firewall-cmd --add-port=5000/tcp --permanent
- Сделал Apache владельцем папки /var/www.
sudo chown -R apache:apache /var/www
sudo chmod -R 550 /var/www
Я поискал ошибку и возможные причины, связанные с ней, и нашел следующее. Проверьте все, что я могу придумать, все равно
The error message (code=exited, status=203/EXEC) is often seen when the script itself or its interpreter cannot be executed.
It could have these reasons:
wrong path to script (e.g. /home/py/ReadPressure2AndPostToMqtt.py)
script not executable
no shebang (first line)
wrong path in shebang (e.g. /bin/python3)
internal files in your script might be missing access permissions.
SELinux may be preventing execution of the ExecStart parameter; check /var/log/audit/audit.log for messages of the form: type=AVC msg=audit([...]): avc: denied { execute } or in the output of ausearch -ts recent -m avc -i.
You have the wrong WorkingDirectory parameter