Хорошо, я новичок в развертывании Python / Flask и следовал этому учебнику.
Это мой системный файл:
[Unit]
Description=Gunicorn instance to serve myapp
After=network.target
[Service]
User=deployer
Group=www-data
WorkingDirectory=/home/deployer/myapp
Environment="PATH=/home/deployer/myapp/myapp_env/bin"
ExecStart=/home/deployer/myapp/myapp_env/bin/gunicorn --workers 3 --bind unix:myapp.sock -m 007 appserver:gunicorn_app
[Install]
WantedBy=multi-user.target
Но это не работает. Я получаю Main process exited, code=exited, status=203/EXEC
или /root/myapp/myapp_env/bin/python3: bad interpreter: Permission denied
Если я cd
войду в мою директорию myapp и введу команду gunicorn следующим образом:
gunicorn --workers 3 --bind unix:smarrttrader_api.sock -m 007 appserver:gunicorn_app
Все отлично работает. Если я сделаю то, что gunicorn из моего каталога приложений, я получу /usr/local/bin/gunicorn
и попытаюсь запустить () из другого места на сервере, например:
/usr/local/bin/gunicorn --workers 3 --bind unix:smarrttrader_api.sock -m 007 appserver:gunicorn_app
Это не работает, и я получаю следующую ошибку: ImportError: No module named 'appserver'
, так как я могу заставить его работать?