在 Ubuntu 下通过 Docker 部署 pSQL 服务器

嘿,伙计们,今天咱们聊聊如何在 Ubuntu 系统上通过 Docker 部署 PostgreSQL 服务器。首先,咱们用的是三丰云的免费服务器,配置是1核/1G内存/5M带宽,虽然不算顶尖,但足够应付日常开发需求,毕竟咱们都是技术控嘛!😎

Docker 和 PostgreSQL 简要介绍

Docker 是一个开源的容器化平台,它让开发者可以打包应用及其依赖,轻松部署到任何地方。它的轻量级和高效性使得应用的开发、测试和发布变得无比简单。而 PostgreSQL(简称 pSQL)是一个强大的开源关系数据库,支持多种数据类型和复杂查询,是许多企业和开发者的首选。两者结合,让你在开发中如鱼得水,简直是黑客的福音!💻

在 Alpine Linux 下通过 Docker 部署 pSQL 服务器的详细步骤

  1. 安装 Docker

    首先,确保你的系统上已经安装了 Docker。如果没有,可以使用以下命令进行安装:

    sudo apt update
    sudo apt install docker.io
    
  2. 启动 Docker 服务

    启动 Docker 服务并设置为开机自启:

    sudo systemctl start docker
    sudo systemctl enable docker
    
  3. 拉取 PostgreSQL 镜像

    使用 Docker Hub 上的官方 PostgreSQL 镜像:

    sudo docker pull postgres
    
  4. 创建 PostgreSQL 数据库容器

    创建一个名为 my_postgres 的容器,设置环境变量(如数据库名、用户名和密码):

    sudo docker run --name my_postgres -e POSTGRES_DB=mydb -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -d postgres
    
    • POSTGRES_DB: 创建的数据库名。
    • POSTGRES_USER: 数据库用户。
    • POSTGRES_PASSWORD: 用户密码。
    • -p 5432:5432: 映射主机和容器的端口。
  5. 连接到 PostgreSQL 数据库

    使用 psql 工具连接到 PostgreSQL:

    sudo docker exec -it my_postgres psql -U myuser -d mydb
    
  6. 验证安装

    连接后,可以运行以下 SQL 命令检查数据库是否正常工作:

    SELECT version();
    

    这会返回 PostgreSQL 的版本信息,确保一切正常。

<think>好的,用户想在Ubuntu系统上部署RAGFlow,但不用Docker,而且是个编程小白。首先,我需要了解RAGFlow是什么。RAGFlow应该是一个基于RAG(检索增强生成)的应用程序,可能涉及自然语言处理和机器学习模型。 接下来,用户要求不用Docker,所以需要直接安装依赖。可能需要Python环境、相关的库,以及可能的其他工具如数据库或搜索引擎。用户是小白,所以步骤要详细,避免使用复杂术语。 先列出系统要求,Ubuntu版本,Python版本,内存和存储需求。然后分步骤:安装系统依赖,比如Python、Git、开发工具。然后设置Python虚拟环境,安装PyTorch和其他库,可能需要从源码安装RAGFlow,处理配置文件,设置数据库比如MySQL,处理前端依赖如Node.js,最后启动服务。 需要注意权限问题,比如创建目录和配置文件时的sudo使用。还要处理可能的依赖冲突,特别是Python包版本。另外,用户可能不熟悉命令行操作,所以每个命令都要明确,给出示例路径和配置。 可能遇到的问题包括环境变量设置、端口冲突、依赖安装失败,这些需要在注意事项里说明。还要指导如何测试服务是否正常运行,访问前端页面。 最后,确保整个流程逻辑清晰,步骤详细,用户能一步步跟随,避免遗漏关键步骤,比如数据库初始化或前端构建。同时提醒用户安全相关的事项,比如修改默认密码,开放端口的安全性。</think>以下是为您准备的Ubuntu系统手动部署RAGFlow详细教程(非Docker版): --- ### 一、系统准备 *最低要求*: - Ubuntu 20.04/22.04 LTS - Python 3.9+ - 内存 ≥8GB - 硬盘 ≥20GB --- ### 二、分步部署指南 #### 1. 安装系统依赖 ```bash sudo apt update sudo apt install -y python3-pip git build-essential libssl-dev libffi-dev python3-dev nginx ``` #### 2. 创建虚拟环境 ```bash mkdir ~/ragflow && cd ~/ragflow python3 -m venv venv source venv/bin/activate ``` #### 3. 安装PyTorch基础 ```bash pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu ``` #### 4. 安装RAGFlow核心依赖 ```bash pip3 install langchain==0.0.340 sentence-transformers==2.2.2 faiss-cpu==1.7.4 flask==2.3.2 ``` #### 5. 部署向量数据库 ```bash sudo apt install -y postgresql postgresql-contrib sudo -u postgres psql -c "CREATE DATABASE ragflow;" sudo -u postgres psql -c "CREATE USER raguser WITH PASSWORD 'ragflow@2023';" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE ragflow TO raguser;" ``` #### 6. 配置应用 ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/backend cp config_example.py config.py ``` 编辑`config.py`: ```python DATABASE_URI = "postgresql://raguser:ragflow@2023@localhost:5432/ragflow" EMBEDDING_MODEL = "all-MiniLM-L6-v2" ``` #### 7. 初始化数据库 ```bash flask db init flask db migrate flask db upgrade ``` #### 8. 启动后端服务 ```bash gunicorn -w 4 -b 0.0.0.0:8000 app:app ``` #### 9. 部署前端(新终端) ```bash sudo apt install nodejs npm cd ~/ragflow/frontend npm install npm run build ``` #### 10. 配置Nginx ```bash sudo nano /etc/nginx/sites-available/ragflow ``` 配置文件内容: ```nginx server { listen 80; server_name your_domain.com; location / { root /home/ubuntu/ragflow/frontend/dist; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://localhost:8000; proxy_set_header Host $host; } } ``` 启用配置: ```bash sudo ln -s /etc/nginx/sites-available/ragflow /etc/nginx/sites-enabled/ sudo systemctl restart nginx ``` --- ### 三、验证安装 1. 访问 `http://服务器IP` 2. 检查API状态: ```bash curl http://localhost:8000/api/health ``` --- ### 四、注意事项 1. 首次使用需在网页端初始化管理员账户 2. 默认数据存储路径:`~/ragflow/data` 3. 如需HTTPS,可使用Let's Encrypt申请SSL证书 4. 生产环境建议配置systemd服务 --- ### 五、常见问题解决 1. **端口冲突**:修改`config.py`中的端口配置 2. **依赖安装失败**:尝试指定版本号 `pip install package==version` 3. **数据库连接问题**:检查PostgreSQL的`pg_hba.conf`权限配置 4. **内存不足**:添加交换空间: ```bash sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值