ffmpeg:未找到(Conda Env + Gunicorn + Nginx)

lrpiutwd  于 2023-06-05  发布在  Nginx
关注(0)|答案(1)|浏览(260)

我已经安装了ffmpeg,可以从命令行运行它。我安装了anaconda,并获得了which ffmpeg命令的不同结果,如下所示:

  • /usr/bin/ffmpeg(基本环境)
  • /root/anaconda3/envs/myenv/bin/ffmpeg(myenv)

python app.py-应用程序使用Flask。我已经在localhost上测试过了,它工作正常。
gunicorn仍然在本地工作的情况下运行它。
当我使用Nginx部署它时,它不工作。找不到ffmpeg。我得到错误gunicorn[23436]: /bin/sh: 1: ffmpeg: not found
我在python文件中的用法如下:subprocess.call('/root/anaconda3/envs/myenv/bin/ffmpeg ...)(我尝试了ffmpeg,完整路径和anaconda路径-仍然没有成功)
我怀疑有一些关于Nginx的东西我错过了,它是否需要特殊的可执行文件配置。服务器配置如下:

server {
    listen 80;
    server_name x.x.x.x;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/myapp/myapp.sock;
        client_max_body_size 30M;
    }
}

我已经安装了ffmpegpip,但后来我删除了它。它与错误没有任何关系,因为我可以在本地运行它而没有问题。

h7appiyu

h7appiyu1#

我通过编写服务并提供环境目录解决了这个问题

Environment="PATH=/root/anaconda3/bin"

接着是

ExecStart=/root/anaconda3/envs/<app-name>/bin/gunicorn --workers 3 --bind unix:<app-name>.sock -m 007 wsgi:app

相关问题