在Ubuntu服务器上运行Python代码

要在Ubuntu服务器上运行Python代码,您需要按照以下步骤进行配置和部署:

1. 安装必要的依赖

确保您的Ubuntu服务器上已经安装了Python 3和pip。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install python3 python3-pip

2. 安装FastAPI和Uvicorn

FastAPI是一个现代的Web框架,而Uvicorn是一个ASGI服务器,用于运行FastAPI应用。使用pip安装它们:

pip3 install fastapi uvicorn

3. 创建项目目录

在服务器上创建一个目录来存放您的代码:

mkdir ragflow_api
cd ragflow_api

4. 将代码保存为文件

将上述代码保存为一个Python文件,例如main.py。可以使用任何文本编辑器,比如nanovim

nano main.py

然后将代码粘贴进去并保存。

5. 修改代码中的RAGFlow地址

在代码中,将ORIGINAL_API_URL中的your_ragflow_address替换为实际的RAGFlow服务地址。例如,如果RAGFlow运行在同一个服务器上,可以使用localhost或服务器的IP地址。

6. 运行应用

使用Uvicorn运行FastAPI应用:

uvicorn main:app --host 0.0.0.0 --port 8000

这里,main是您的Python文件名(不包括.py扩展名),app是FastAPI实例的名称。--host 0.0.0.0表示允许服务器接受来自任何地址的连接,--port 8000指定运行的端口号。

7. 配置防火墙

如果服务器上有防火墙(如ufw),需要允许8000端口的流量:

sudo ufw allow 8000

8. 测试API

在本地机器上,使用curl或Postman等工具测试API。例如:

curl -X POST "http://your_server_ip:8000/retrieval" \
-H "Content-Type: application/json" \
-d '{
  "knowledge_id": "your_knowledge_id",
  "query": "your_query",
  "retrieval_setting": {
    "top_k": 5,
    "score_threshold": 0.8
  }
}'

your_server_ip替换为您的Ubuntu服务器的IP地址。

9. 设置为系统服务(可选)

为了确保应用在服务器重启后能够自动启动,可以将其配置为一个系统服务。

创建一个服务文件:

sudo nano /etc/systemd/system/ragflow-api.service

添加以下内容:

[Unit]
Description=RAGFlow API Service
After=network.target

[Service]
User=your_username
Group=your_groupname
WorkingDirectory=/path/to/ragflow_api
ExecStart=/usr/bin/python3 /path/to/ragflow_api/main.py
Restart=always

[Install]
WantedBy=multi-user.target

your_usernameyour_groupname/path/to/ragflow_api替换为实际的用户和路径。

然后启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable ragflow-api.service
sudo systemctl start ragflow-api.service

10. 检查服务状态

可以使用以下命令检查服务是否正常运行:

sudo systemctl status ragflow-api.service

通过以上步骤,您就可以在Ubuntu服务器上成功运行RAGFlow的知识库API了。

### 在 Ubuntu 虚拟机上运行 Python 代码的方法 为了在 Ubuntu 虚拟机中成功运行 Python 代码,以下是详细的说明: #### 安装 Python 如果虚拟机尚未安装 Python,则可以通过以下命令完成安装: ```bash sudo apt update && sudo apt install python3 ``` 此操作将更新包列表并安装最新版本的 Python3[^2]。 #### 验证 Python 版本 安装完成后,验证当前系统的 Python 是否正常工作以及其具体版本号: ```bash python3 --version ``` #### 创建虚拟环境(可选) 推荐使用虚拟环境管理依赖项。创建一个新的虚拟环境可以避免全局环境中不同项目之间的冲突。执行以下命令以创建名为 `myenv` 的虚拟环境: ```bash python3 -m venv myenv ``` 激活该虚拟环境: ```bash source myenv/bin/activate ``` 此时终端提示符前缀应显示 `(myenv)` 表明已进入指定的虚拟环境[^3]。 #### 使用 Conda 环境(替代方案) 对于更复杂的科学计算需求或者特定版本控制场景下,也可以考虑采用 Anaconda 或 Miniconda 来构建隔离的工作区。例如建立一个带有 Python 3.9.5 的新 conda 环境: ```bash conda create -n custom_env_name python=3.9.5 ``` 启动新建的 conda environment 只需键入: ```bash conda activate custom_env_name ``` 这里替换掉 `custom_env_name` 成实际使用的名称即可[^4]。 #### 编写与测试简单的 Python 程序 假设有一个基本的 Hello World 应用程序存储于文件 hello.py 中的内容如下所示: ```python print("Hello, world!") ``` 保存上述脚本之后,在同一目录下调用下面这条指令就能看到预期的结果输出至屏幕上了: ```bash python3 hello.py ``` #### 运行带 GUI 组件的应用实例 (针对特殊案例) 当涉及到像 Selenium 自动化浏览器交互或是 PyAutoGUI 类型的任务时,由于这些工具通常需要访问真实的桌面会话而无法直接作用于无头模式下的服务器端口之上。那么就必须配置额外的支持服务比如 Xvfb 假显卡驱动来模拟出可供渲染的画面区域供此类软件正常使用[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值