1. 首页 > 技术教程 > 正文

VPS 部署 AI 工具需要哪些基础?Linux、Docker、Nginx 和域名配置入门

想在 VPS 上跑 AI 工具,不管是部署 Ollama 本地模型、Open WebUI 对话界面,还是跑 n8n 自动化工作流、Claude Code 这类 AI Agent,基础环境绕不开三样东西:Linux 操作、Docker 容器化、Nginx 反向代理和域名配置。这三样是通用底子,缺一个都可能让部署卡在半路。这篇教程不讲废话,直接告诉你每项基础要掌握到什么程度,实际踩坑点在哪,怎么快速上手。

zhujixuan TASK 081

VPS 部署 AI 工具必备的 Linux 基础

SSH 连接和基础命令

拿到一台裸机 VPS 后,第一步是 SSH 登录。你需要会用 `ssh root@你的IP` 或非 root 用户登录。常用命令包括 `ls`、`cd`、`mkdir`、`cp`、`mv`、`rm`、`cat`、`nano` 或 `vim` 编辑文件。熟练用 `apt update && apt upgrade -y`(Ubuntu/Debian)或 `yum update`(CentOS)更新系统。AI 工具依赖 Python、Node.js 等运行环境,学会用 `apt install python3 python3-pip` 或 `curl -fsSL https://deb.nodesource.com/setup_20.x | bash -` 安装。

用户权限和文件权限

别一直用 root 跑服务。创建一个普通用户,比如 `adduser aiuser`,然后 `usermod -aG sudo aiuser` 赋予 sudo 权限。部署 AI 工具时,经常需要修改配置文件权限,`chmod` 和 `chown` 要会。例如 `chmod 600 ~/.ssh/authorized_keys` 保证 SSH 密钥安全。很多 AI Agent 会读写本地文件,权限不对直接报错,这是新手最容易忽略的坑。

防火墙和端口放行

VPS 默认防火墙(ufw 或 firewalld)可能只开放 22 端口。部署 AI 工具后,像 Open WebUI 默认监听 8080 端口,n8n 用 5678,你需要手动放行。命令示例:`ufw allow 8080`(Ubuntu)或 `firewall-cmd –add-port=8080/tcp –permanent`(CentOS)。如果用了云厂商的安全组策略,记得去控制台也放行对应端口。老鸟叮嘱:不要直接放行 0.0.0.0/0 到所有端口,只放行需要的端口,并配合 Nginx 反向代理隐藏端口。

Docker 部署 AI 工具的核心操作

安装 Docker 和 Docker Compose

Docker 是部署 AI 工具最省心的方式,能避免环境依赖冲突。安装命令(Ubuntu):

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER # 将当前用户加入 docker 组,避免每次加 sudo

退出重新登录后生效。Docker Compose V2 已内置,用 `docker compose version` 检查。对于需要多容器编排的 AI 工具(比如 Ollama + Open WebUI),写一个 `docker-compose.yml` 文件比手动跑容器高效得多。

拉取镜像和运行容器

以 Ollama 为例,运行一个本地模型推理服务:

docker run -d –name ollama -p 11434:11434 ollama/ollama

`-d` 后台运行,`–name` 指定容器名,`-p` 映射端口。部署 Open WebUI 时,可能需要挂载数据卷:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data –name open-webui ghcr.io/open-webui/open-webui:main

注意:很多 AI 工具对内存和磁盘有要求。比如跑 7B 模型至少 8GB 内存,部署前用 `free -h` 和 `df -h` 检查资源。老鸟叮嘱:用 `docker logs -f 容器名` 查看启动日志,端口冲突、镜像拉取失败、挂载目录权限问题都能从日志里找到线索。

容器数据持久化

AI 工具的用户数据、模型文件、配置都需要持久化。使用 Docker 卷(volume)或 bind mount。例如:
yaml
volumes:
– ./data:/app/data # bind mount 到当前目录下的 data 文件夹
– ollama-models:/root/.ollama # 命名卷

在 `docker-compose.yml` 里声明,重启容器后数据不丢。避坑:不要把数据直接放容器内部,容器删除后数据就没了。

Nginx 反向代理和域名配置

为什么需要反向代理

AI 工具通常监听在非标准端口(如 8080、3000),直接暴露端口不安全,也不方便记忆。用 Nginx 做反向代理,把域名(如 `ai.yourdomain.com`)指向内网端口,同时可以配置 SSL 证书让访问走 HTTPS。这是生产环境的标准做法。

安装 Nginx 和基本配置

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

创建一个站点配置文件,比如 `/etc/nginx/sites-available/ai`,内容示例:
nginx
server {
listen 80;
server_name ai.yourdomain.com;

location / {
proxy_pass http://127.0.0.1:8080; # 反向代理到本地运行的 AI 工具端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

然后启用站点:`sudo ln -s /etc/nginx/sites-available/ai /etc/nginx/sites-enabled/`,测试配置 `sudo nginx -t`,最后重载 `sudo systemctl reload nginx`。

域名解析和 SSL 证书

去域名 DNS 管理面板添加 A 记录,指向 VPS 的公网 IP。SSL 证书推荐用 Let's Encrypt 免费证书,通过 Certbot 自动申请:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot –nginx -d ai.yourdomain.com

Certbot 会自动修改 Nginx 配置,强制 HTTPS 跳转。老鸟叮嘱:申请证书前确保域名解析已生效,且 Nginx 监听了 80 端口(用于验证)。证书有效期 90 天,设置 cron 自动续期:`sudo certbot renew –dry-run` 测试后,系统会默认添加定时任务。

老鸟叮嘱:避坑清单

1.不要用 root 跑所有服务:AI 工具可能涉及文件写入、API 调用,权限过大有安全风险。用普通用户运行 Docker 容器,Nginx 和 AI 工具进程分离。
2.日志是排障第一手信息:遇到容器起不来、502 错误,先看 `docker logs` 和 Nginx 错误日志 `/var/log/nginx/error.log`,不要盲目重装。
3.内存不足是部署 AI 模型的常见问题:1GB 内存的 VPS 跑不了 7B 模型,勉强跑会 OOM 被杀。部署前用 `free -h` 确认可用内存,如果不够可以加 swap 但性能极差,建议升级配置。
4.API Key 别写死在代码里:用环境变量或 `.env` 文件管理,比如 `docker run -e OPENAI_API_KEY=sk-xxx …`,`.env` 文件权限设为 600。
5.公网端口不要裸奔:即使只开一个端口,也建议通过 Nginx 加 IP 白名单或 Basic Auth 做保护,避免被扫描攻击。
6.Docker 镜像版本要锁定:`ollama/ollama:latest` 可能随时更新导致不兼容,生产环境建议用 `ollama/ollama:0.3.14` 这样的具体版本。

FAQ

Q:VPS 部署 AI 工具需要多大内存?
A:纯 API 调用型工具(如 n8n 调度 Claude API)1GB 内存足够。本地模型型(如 Ollama 跑 7B 模型)建议至少 8GB,14B 模型需要 16GB 以上。绘图型(如 Stable Diffusion)需要 GPU 或大量 CPU 内存,普通 VPS 跑不动。

Q:不会 Linux 能不能用 Docker 面板?
A:可以,但建议至少懂基础命令。像 1Panel、Portainer 这类面板能简化 Docker 管理,但遇到网络问题、端口冲突时,没有命令行知识很难排查。

Q:Nginx 配置后访问显示 502 Bad Gateway?
A:最常见原因是反向代理的目标端口没启动。先检查 AI 工具容器是否正常运行(`docker ps`),然后确认 `proxy_pass` 的地址和端口是否正确,再查看 Nginx 错误日志。

Q:域名一定要备案吗?
A:如果 VPS 在国内机房,域名必须备案才能解析到国内 IP,否则会被封。海外 VPS 不需要备案,但建议用海外域名注册商,避免域名被墙。

Q:可以用 IP 直接访问 AI 工具吗?
A:可以,但不推荐。IP 访问无法配置 SSL 证书(除非自签名),且容易被扫描攻击。建议绑定域名并启用 HTTPS。

Q:Docker 容器重启后数据丢失怎么办?
A:检查是否使用了数据卷或 bind mount。用 `docker volume ls` 查看命名卷,用 `docker inspect 容器名` 查看挂载信息。如果没做持久化,数据确实会丢失,所以部署前一定规划好数据目录。

总结

VPS 部署 AI 工具的基础就这三块:Linux 系统操作与权限管理、Docker 容器化部署和持久化、Nginx 反向代理与域名 SSL。每项不需要精通,但掌握核心命令和排障思路,就能应对 90% 的 AI 工具部署场景。从一台裸机 VPS 开始,按顺序配好环境,再部署具体工具,流程清晰不易出错。

**相关阅读:**

– [VPS部署AI工具100讲:AI Agent、Codex、Claude Code、Hermes Agent、Ollama与自动化工作流实战教程](https://www.zhujixuan.com/jishujiaocheng/9606.html)
– [n8n VPS 部署教程:搭建自己的自动化工作流平台](https://www.zhujixuan.com/jishujiaocheng/9892.html)
– [AI Agent自动化运维实战100讲:VPS巡检、日志分析、告警处理与工作流教程](https://www.zhujixuan.com/jishujiaocheng/10066.html)

转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9747.html 商家投稿邮箱:zhujixuanblog@qq.com