У меня есть виртуальная среда, использующая uWSGI. (Ubuntu 18.04)
Я хочу запустить программу, которая требует ffmpeg, когда пользователи получают доступ к маршруту Flask.
- Случай 1: Если я запускаю ту же программу из терминала, она выполняется успешно.
- Случай 2: Если я получаю доступ к маршруту, программа завершается ошибкой с сообщением об установке ffmpeg
- Случай 3: если я получаю доступ к другому маршруту, который содержит подпроцесс для запуска отдельного файла .py, он также завершается ошибкой.
Я предполагаю, что моя виртуальная среда ограничена доступ к определенным программам из системы, или мне нужно установить его по-другому.
Это будет связано с PATH или разрешениями? - Любое предложение о том, что я должен посмотреть?
Если это поможет, это моя конфигурация:
Systemd Unit File для WSGI (/etc/systemd/system/myproject.service) :
[Unit]
Description=uWSGI instance to serve myproject
After=network.target
[Service]
User=john
Group=www-data
WorkingDirectory=/home/john/myproject
Environment="PATH=/home/john/myproject/myprojectenv/bin"
ExecStart=/home/john/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
[Install]
WantedBy=multi-user.target
~ / myproject / myproject.ini:
[uwsgi]
module = wsgi:app
master = true
processes = 5
socket = myproject.sock
chmod-socket = 660
vacuum = true
die-on-term = true
/ etc / nginx / sites-available / myproject
server {
listen 80;
server_name mydomain www.mydomain;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/john/myproject/myproject.sock;
}
}