安装ffmpeg
服务器用的阿里云,因为pip仓库里没有python的ffmpeg模块,所以退求其次,准备利用静态编译好的版本,上传到服务器之后,利用下面的命令解压缩:
tar -xf ffmpeg-n7.1-62-gb168ed9b14-linux64-gpl-7.1.tar.xz解压缩后进入bin文件夹,复制所有的文件到系统/usr/local/bin文件夹内,此时在任意路径shell运行ffmpeg,可以看到ffmpeg的一些帮助信息,包括其版本。
创建目录
博主设置的主目录是dictation:
mkdir -p /usr/share/nginx/html/dictation/output
mkdir -p /usr/share/nginx/html/dictation/logs
mkdir -p /usr/share/nginx/html/dictation/audios建立虚拟环境
服务器对python程序的权限比较敏感,比较好的方式是创建一个虚拟环境,以避免与系统应用产生冲突。
cd /usr/share/nginx/html/dictation
if [ ! -d "venv" ]; then
python3 -m venv venv
fi为虚拟环境安装依赖
deepseek推荐的版本分别是Flask2.0.3,gunicorn20.1.0,pydub0.24.1,但如果不附加版本号的话,除了flask版本符合,其他两个软件的版本分别是gunicorn21.2.0以及pydub0.25.1,暂时先尝试默认安装,有不兼容在回退。
venv/bin/pip install flask
venv/bin/pip install gunicorn
venv/bin/pip install pydub设置文件夹权限
chown -R apache:apache /usr/share/nginx/html/dictation一个天坑
因为python程序运行在虚拟环境,所以正常的/usr/local/bin里的ffmpeg会无法被访问到,所以在服务配置里需要加上像如下的语句:
Environment="PATH=/usr/share/nginx/html/dictation/venv/bin:/usr/local/bin:/usr/bin:/bin"最后运行.sh
给管理程序一个权限:
chmod +x your_script.sh

