部署一个视频播放器

Python 方式运行 + pip 安装依赖:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Python 方式运行 + pip 安装依赖:
1、安装 venv 模块
1)运行:
sudo apt install python3.12-venv
2)安装成功后,重新创建虚拟环境
python3 -m venv .venv
3)然后:
source .venv/bin/activate
pip install --upgrade pip
pip install fastapi uvicorn requests jinja2
3.1)服务器无法访问 Python 官方 PyPI,所以 pip 无法下载任何包 → 100% 超时
这不是 pip 的问题、不是权限问题、不是 venv 问题,就是 网络无法访问国外源。
3.2)pip 的源切换到国内镜像
mkdir -p ~/.pip
或者有.pip的话
nano ~/.pip/pip.conf
改成:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 600

[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

再执行:
pip install --upgrade pip
pip install fastapi uvicorn requests jinja2

4)确认 FreeBili 的 main.py 使用的端口
grep -R "port" -n main.py
grep -R "uvicorn" -n main.py

5)创建一个 run.py
nano run.py
内容粘贴进去:
import uvicorn
if __name__ == "__main__":
uvicorn.run(
"main:app",
host="0.0.0.0",
port=8006,
reload=False
)

6)手动测试运行 FreeBili
在虚拟环境 .venv 已激活的情况下:
python3 run.py
如果看到下面的结果,说明成功了。
Uvicorn running on http://0.0.0.0:8006
浏览器访问:
http://47.115.72.68:8006/

7)用 PM2 挂载为后台服务(自动重启 + 开机自启 + 稳定运行)
pm2 start ".venv/bin/python3" --name freebili -- run.py
保存 PM2 配置,让重启后自动运行
pm2 save
pm2 startup


在本地快速调试,然后启动看效果

1
2
3
4
5
6
7
8
9
10
11
12
13
1、安装 uv(如果未安装)
1)uv 是高效的 Python 包管理器。打开 PowerShell 并运行:
pip install uv
2)cd 到项目根目录
3)安装依赖(可选,如果未安装)
项目有 pyproject.toml 和 uv.lock 文件,使用 uv 安装依赖:
uv sync

2、启动项目
1)手动运行命令
uv run fastapi run main.py
2)查看结果
http://localhost:8000

修改好文件之后,pm2 restart 重启进程

1
2
3
4

pm2 restart freebili
pm2 save
pm2 startup

部署一个RAG知识库问答系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
1、启动服务:
python3 app.py

2、解决报错
Milvus 服务没有启动
MilvusException: Fail connecting to server on localhost:19530
illegal connection params or server unavailable
集成问答系统(integrated_qa_system)在启动时尝试连接:http://localhost:19530
但 19530 端口根本没有服务在运行,Milvus 没有启动,因此报错。
1)检查现有 Docker 容器运行情况
docker ps -a
2)报错
milvus-standalone Exited(255)
milvus-minio Exited(255)
milvus-etcd Exited(255)
3)最快解决方案
停止旧容器
docker stop milvus-standalone milvus-minio milvus-etcd
docker rm milvus-standalone milvus-minio milvus-etcd
4)删除旧数据(必做,否则继续报错)
sudo rm -rf /var/lib/docker/volumes/milvus*
5)重新启动
docker compose up -d
5.1)确认 compose 文件位置
在服务器上执行:
cd /home/projects/integrated_qa_system
find . -name "docker-compose.yml"
6)进入 Milvus compose 目录
cd /home/prxxx/qa_system/rag_qa/docker_env
7)只启动指定的milvus容器
docker compose up -d milvus-standalone milvus-etcd milvus-minio

8)保存 PM2 配置,让重启后自动运行
pm2 save
pm2 startup
9)pm2-logrotate 模块
9.1)安装 pm2-logrotate(root 环境)
pm2 install pm2-logrotate
9.2)配置日志清理周期
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
pm2 set pm2-logrotate:compress true
pm2 set pm2-logrotate:rotateInterval "0 0 * * *"
9.3)查看当前设置是否生效
pm2 conf pm2-logrotate