如果你想用一台 VPS 部署 WordPress、Halo、Open WebUI、数据库和 Docker 应用,又不想长期记住一堆命令,1Panel 是一个很容易上手的选择。它把主机监控、文件、容器、应用商店、数据库、计划任务和备份集中到一个 Web 面板里,适合个人站长、小团队和家庭实验室。
但 1Panel 不是“装完就不用管”的安全层。面板本身、Docker、数据库、域名、证书和备份仍然需要正确配置。本文按生产可用的顺序,从 VPS 选型和安装开始,完成一个带 HTTPS、Docker 应用、数据库和异地备份的基础环境。
1Panel 适合下面几类需求:
- 想通过 Web 界面管理 Linux VPS,而不是所有事情都在 SSH 中完成;
- 需要快速部署 WordPress、Halo、MySQL、PostgreSQL、Redis 或常见 Docker 应用;
- 想统一查看 CPU、内存、磁盘、网络、容器和计划任务;
- 需要管理多个站点、域名、证书和备份任务;
- 想在一台机器上运行多个自托管服务,但暂时不需要 Kubernetes。
如果你只运行一个静态网站,Caddy 或 Nginx 配置文件更轻;如果你需要团队级 CI/CD 和多机编排,Dokploy、Coolify 或 Kubernetes 更合适。1Panel 的优势是把常见单机运维工作集中起来,而不是替代所有基础设施。
1Panel 本身并不吃很多资源,真正消耗资源的是你安装的应用。官方在线安装文档给出的最低条件是可用内存 1GB 以上,但这只是面板能启动,不代表适合生产环境。
| 用途 | 推荐配置 | 说明 |
|---|---|---|
| 只管理 Docker 和少量工具 | 2 核 2GB、40GB SSD | 适合个人实验和低流量服务 |
| WordPress 或 Halo 单站 | 2 核 4GB、60GB NVMe | 给数据库、PHP 和缓存留余量 |
| 多个网站和 Docker 应用 | 4 核 8GB、100GB NVMe | 适合小团队和多个自托管服务 |
| Open WebUI、数据库和自动化共存 | 4 核 8GB 起、120GB+ NVMe | 模型文件和容器日志会快速占用磁盘 |
购买 VPS 时还要确认 IPv4、快照、备份、出站流量和磁盘扩容价格。1Panel 只能管理服务器,不能改变商家的网络质量和账单规则。可以先参考站内的 VPS 配置怎么选 和 按量计费云服务器怎么防账单失控。
建议使用全新的 Ubuntu 22.04/24.04 LTS、Debian 12 或其他官方支持发行版。不要在已经安装宝塔、aaPanel、旧 Docker、Nginx 和多个 PHP 版本的机器上直接叠加 1Panel,端口、服务和 Docker 配置容易互相覆盖。
准备一个面板域名,例如 panel.example.com,将 A 记录指向 VPS IPv4。DNS 可以先设置为仅 DNS 解析,等证书申请成功后再决定是否开启代理。面板域名和业务域名分开,后续更容易做访问控制。
安装面板、修改 SSH 和防火墙前,确认云厂商提供 Web Console、VNC 或 Rescue Mode。万一把自己锁在 SSH 外面,可以从控制台恢复配置。防火墙操作可以结合 开启 UFW 后 SSH 进不去的恢复清单。
sudo apt update && sudo apt full-upgrade -y
sudo reboot
重启后先验证磁盘和内存:
df -h
free -h
uname -a
如果是新开机的 VPS,建议在安装前创建一个云厂商快照。快照只适合快速回滚,不等于异地备份,区别可以参考 VPS 快照、备份、镜像有什么区别。
1Panel 官方在线安装文档提供了交互式脚本。通过 SSH 登录服务器后执行:
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
安装过程中会询问安装目录、端口、安全入口、用户名和密码。生产环境不要使用示例密码,也不要把面板端口设成常见的 8080、8888 或 9000。安装结束后,终端会打印访问地址,格式类似:
http://服务器IP:面板端口/安全入口
如果需要自动化部署,也可以使用非交互模式。下面是官方参数的完整示例,密码仅用于演示,实际操作请替换为随机长密码:
PANEL_NON_INTERACTIVE=true \
PANEL_LANG=zh \
PANEL_INSTALL_DIR=/opt \
PANEL_PORT=18080 \
PANEL_ENTRANCE=panelEntrance \
PANEL_USERNAME=panelAdmin \
PANEL_PASSWORD='Replace_With_A_Strong_Password' \
PANEL_INSTALL_DOCKER=y \
PANEL_DOCKER_MODE=auto \
PANEL_CONFIGURE_ACCELERATOR=n \
PANEL_REPLACE_DAEMON_JSON=n \
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
不想把密码直接出现在 Shell 历史记录中时,优先使用交互式安装,或者在一次性、受保护的自动化环境中注入密码。安装完成后,可以执行下面的命令查看面板信息:
1pctl user-info
如果 Docker 安装失败,先单独检查 Docker 服务和网络,不要重复运行面板安装脚本覆盖现有配置。
在面板设置中修改默认端口和安全入口。安全入口不是密码,它相当于 URL 路径上的一道额外门槛。修改后同时在云厂商安全组和系统防火墙中放行新端口,再关闭旧端口。
在面板设置中绑定 panel.example.com,申请 Let's Encrypt 证书。申请前确认:
- DNS 已经解析到当前 VPS;
- 80 和 443 没有被其他程序占用;
- 云安全组放行了 80/443;
- 系统时间准确,证书申请工具能访问公网。
面板域名 HTTPS 正常后,再给业务应用配置独立子域名。不要让所有应用共用一个管理入口,也不要把面板和数据库端口直接暴露到公网。
root 只用于初始化和紧急修复。日常通过普通用户 SSH 登录,使用 sudo 执行管理命令。SSH 只允许密钥登录,并限制允许登录的来源 IP。面板账号也要使用独立密码,不要和 VPS、邮箱或云厂商账号复用。
1Panel 的应用商店适合快速部署,但“一键安装”仍然需要你理解端口、持久化目录和环境变量。安装前确认:
- 应用需要哪些端口;
- 哪些目录必须持久化;
- 数据库是否独立部署;
- 默认账号和密码如何修改;
- 应用升级是否包含数据库迁移;
- 官方镜像和 Compose 文件是否固定版本。
应用容器可以通过内部 Docker 网络连接数据库,公网只开放反向代理需要的 80/443。以下端口通常不应暴露公网:
- MySQL
3306; - PostgreSQL
5432; - Redis
6379; - Docker Socket;
- 应用后台的原始 HTTP 端口;
- 面板内部使用的管理端口。
如果应用必须被公网访问,使用 1Panel 的网站或反向代理功能绑定域名和 HTTPS,再把上游指向容器内部端口。数据库远程访问应优先走 SSH 隧道或 VPN,详细原则可以参考 VPS 数据库不要直接暴露公网。
建站应用适合使用独立域名、独立数据库和独立存储目录。不要把多个站点共用同一个数据库管理员账号,也不要把上传目录放在临时容器层。安装后马上完成:
- 管理员用户名和密码修改;
- 站点 URL 与 HTTPS 地址统一;
- 定时数据库备份和文件备份;
- 上传目录大小和 PHP 执行时间调整;
- 登录保护、插件更新和异常登录告警。
1Panel 的应用商店包含多个 AI 和自动化工具,但应用本身的模型供应商 Key、Webhook、数据库和文件目录都属于生产数据。把这些应用放在独立子域名下,并为 Webhook 设置随机路径或签名校验。已经有 Ollama、Open WebUI 或 n8n 部署需求时,可以将 1Panel 当作管理层,但不要把模型 API Key 写进公开仓库或截图。
只备份 Docker Volume 不够。至少要覆盖:
- 1Panel 应用配置和 Compose 文件;
- 数据库 dump;
- Docker Volume 和上传文件;
- 域名、证书和反向代理配置;
.env、密钥和恢复说明;- 重要任务的导出文件和版本记录。
备份不要和生产 VPS 放在同一块磁盘上。可以使用兼容 S3 的对象存储、另一台 VPS 或云盘,并保留多个时间点。至少设置“每日增量、每周完整、每月长期保留”中的一种组合,具体取决于数据变化速度。
备份任务显示成功,不代表恢复一定成功。每个季度在测试目录或临时 VPS 上演练一次:导入数据库、挂载 Volume、恢复环境变量、启动容器、绑定测试域名,并确认登录和关键数据可读。恢复过程可以参考 VPS 备份恢复演练指南。
- 面板使用独立域名和 HTTPS;
- 修改默认端口和安全入口;
- root 只用于初始化,SSH 使用密钥;
- 云安全组只开放 22、80、443 和实际业务所需端口;
- 数据库、Redis、Docker Socket 不对公网监听;
- 关闭不使用的应用和容器;
- 固定镜像版本,不直接使用不明来源的
latest; - 启用系统安全更新并安排维护窗口;
- 为磁盘、内存、容器重启和证书到期设置告警;
- 保存面板、数据库和应用的恢复凭据;
- 定期检查管理员、SSH Key、API Token 和 Webhook;
- 把备份复制到异地,并做恢复演练。
先检查 DNS 是否指向正确 IP,再检查云安全组、防火墙、80/443 监听和反向代理上游。执行下面的命令,可以先判断应用是否在本机正常响应:
curl -I http://127.0.0.1:应用端口
检查域名解析、80/443 端口、Caddy/Nginx 占用、服务器时间和 DNS 代理状态。如果使用 Cloudflare 代理,先确认 DNS 记录和验证方式符合证书工具要求。
在面板的容器日志中先看退出原因,再检查环境变量、数据库连接、Volume 权限和内存。不要只点击“重启”,否则很容易把真正的错误日志覆盖掉。Docker 通用排查思路可以参考 VPS Docker 容器一直 Restarting 怎么办。
先不要删除旧容器和 Volume。确认新旧 Compose 的 Volume 名称、挂载路径、数据库版本和环境变量一致,再从快照或备份恢复。升级前保存当前镜像标签、配置文件和数据库 dump。
| 方案 | 更适合谁 | 优点 | 不足 |
|---|---|---|---|
| 1Panel | 想管理主机、Docker、网站和应用商店的人 | 单机功能完整,中文界面,应用生态持续扩展 | 仍需理解 Docker、网络和备份 |
| 宝塔/aaPanel | 传统 PHP 建站和面板化运维 | 网站、PHP、数据库操作成熟 | 容器和现代自托管应用体验因版本而异 |
| Portainer | 只想管理 Docker 容器和 Stack 的用户 | 轻量,Docker 视角清晰 | 不负责完整的主机、证书和建站流程 |
如果你的核心工作是 WordPress、PHP 和传统网站,宝塔或 aaPanel 依然可以;如果要管理 Docker 应用、数据库、AI 工具和站点,1Panel 的覆盖面更合适;如果已经有独立的 Caddy/Nginx 和备份体系,只缺 Docker 可视化管理,则 Portainer 更轻。
个人用户可以从 Ubuntu 24.04、2 核 4GB、60GB NVMe 开始,先安装 1Panel 和 Docker,再部署一个低风险测试应用。确认域名、HTTPS、日志、备份和恢复都跑通后,再迁移正式网站或数据库。
不要把 1Panel 当成安全和备份的替代品。它最有价值的地方,是把重复的单机运维动作集中到一个界面里,让你有更多时间关注业务。真正上线前,至少完成一次“从空机器恢复应用”的演练,这比多装几个应用更重要。
