Когда я запускаю
sudo journalctl -u gunicorn
, я получаю:
Oct 14 12:49:22 my-server-thing systemd[1]: gunicorn.service: Failed to load environment files: Is a directory
Oct 14 12:49:22 my-server-thing systemd[1]: gunicorn.service: Failed to run 'start' task: Is a directory
Oct 14 12:49:22 my-server-thing systemd[1]: gunicorn.service: Failed with result 'resources'.
Oct 14 12:49:22 my-server-thing systemd[1]: Failed to start gunicorn daemon.
Полагаю, что-то не складывается с моими каталогами. У меня есть /etc/systemd/system/gunicorn.service
, который:
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=myname
Group=myname
EnvironmentFile=/home/myname/myapp/env
WorkingDirectory=/home/myname/myapp
ExecStart=/home/myname/myapp/env/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
myapp.wsgi:application
[Install]
WantedBy=multi-user.target
The directories I’m working in are as follows.
myapp /
содержит мой файл requirements.txt, мой env и другое приложение / каталог. В myapp / app у меня есть manage.py и еще одно приложение / env. В myapp / app / app у меня есть settings.py и wsgi.py.
Также, когда я бегу
nginx -t -c /etc/nginx/nginx.conf
, я получаю
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2020/10/15 10:32:57 [warn] 31742#31742: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2020/10/15 10:32:57 [emerg] 31742#31742: unknown directive "mydomainname.co.uk" in /etc/nginx/conf.d/flaskapp.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed
Что я делаю не так?
EnvironmentFile=/home/myname/myapp/env
должен быть файлом, а не папкой.
Похоже, что здесь конфликт соглашений между веб-проектами и systemd.