适用场景:手里有 VPS / NAS / 家庭服务器,不想记命令、不想手写 systemd、想用可视化界面管容器、网站、数据库、备份、证书
定位:新一代开源 Linux 服务器运维管理面板,Docker 原生、Web 界面、极简依赖、国产社区活跃(1Panel-dev/1Panel)
—
0. 为什么选 1Panel?(与宝塔 / CasaOS / Portainer 对比)
| 维度 | 1Panel | 宝塔 | CasaOS | Portainer |
| 架构 | Go 单二进制 + Docker 编排 | Python + Nginx/Apache + 系统包 | Go + Docker(偏桌面/家庭) | Go + Docker(偏容器编排) |
| 安装体积 | 30 MB 单文件 | 300 MB+(拉一堆系统包) | 50 MB | 100 MB |
| Docker 原生度 | ⭐⭐⭐⭐⭐(核心功能全走 Docker) | ⭐(插件式,版本常滞后) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 网站/反代/证书 | 内置 OpenResty + ACME 自动续期 | 核心功能(但配置文件易冲突) | 无(需自行配置) | 无(仅容器层面) |
| 数据库管理 | 可视化建库、用户、备份、定时任务 | 强(但绑定系统安装版) | 无 | 无 |
| 备份/恢复 | 支持本地/远程(S3/MinIO/阿里云 OSS/COS/WebDAV)+ 定时 | 有(收费版功能更全) | 无 | 无 |
| 终端/文件管理 | 内置 Web Terminal + 文件管理器(代替 SSH/SFTP) | 有 | 有 | 无 |
| 应用商店 | 100+ 官方模板(一键部署 Jellyfin/HA/Alist/Gitea/…) | 插件商店(多收费/闭源) | 有(偏家庭娱乐) | 有(偏容器编排) |
| 多用户/团队 | 企业版支持 RBAC、审计日志 | 专业版/企业版 | 无 | Business 版 |
| 开源协议 | GPL-3.0(核心完全开源) | 核心闭源(社区版受限) | Apache-2.0 | 商业开源(EE 闭源) |
| 学习曲线 | 低(几分钟上手) | 低(但后期排错难) | 极低(家庭导向) | 中(需懂 Docker 概念) |
一句话:想要「宝塔的易用性 + Portainer 的 Docker 原生 + 现代架构 + 全开源」,选 1Panel。
—
1. 五分钟极速安装
1.1 在线安装(推荐,自动检测架构、配置 systemd)
# 官方一键脚本(国内镜像自动加速)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
输出示例:
面板地址:http://你的IP:8080
用户名:admin
密码:a1b2c3d4 # 首次登录强制修改
也可指定端口/路径:bash quick_start.sh --port 18080 --entrance panel
1.2 离线安装(内网/气隙环境)
# 1. 在有网机器下载对应架构包
wget https://github.com/1Panel-dev/1Panel/releases/download/v1.10.12/1panel-linux-amd64.tar.gz
# 2. 传到目标机器解压
tar -zxvf 1panel-linux-amd64.tar.gz && cd 1panel-linux-amd64
# 3. 安装
sudo ./install.sh
1.3 Docker 运行(不想装 systemd 服务)
docker run -d \
--name 1panel \
--restart always \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/1panel:/opt/1panel \
1panel/1panel:latest
—
2. 核心功能实战(新手必会 8 件事)
2.1 容器管理(替代 Portainer)
- 镜像:拉取、标记、导出、清理无用镜像
- 容器:创建(可视化端口/卷/环境变量/网络/重启策略/健康检查)、启停、重建、日志、终端、资源限制(CPU/内存/IO)
- 网络/卷:可视化创建、挂载、清理
- Compose:可视化编辑 docker-compose.yml,一键部署/更新/下线整套栈(支持环境变量文件)
实战:点「应用商店」→ 搜「Jellyfin」→ 一键部署 → 自动生成 Compose → 进「容器」列表即可看到端口映射、卷挂载、健康检查全配好。
2.2 网站 + 反代 + 自动 HTTPS(替代 Nginx Proxy Manager)
- 添加网站 → 域名填
jellyfin.example.com → 类型选「反向代理」→ 目标 URL 填 http://127.0.0.1:8096
- SSL 证书 → 勾选「申请 Let’s Encrypt 证书」→ 选 DNS 验证(推荐,需填 Cloudflare/阿里云/腾讯云 API)或 HTTP 验证 → 自动续期
- 访问控制 → IP 白名单/黑名单、基础认证、User-Agent 过滤、限流
- 自定义配置 → 需要时直接在界面插入 Nginx 指令(如
proxy_set_header X-Forwarded-Proto https;)
优势:底层跑 OpenResty,配置文件由面板托管,永远不会手改 nginx.conf 导致冲突。
2.3 数据库管理(MySQL / PostgreSQL / Redis / MongoDB)
- 实例管理:本地部署(Docker 跑)或接入外部实例
- 可视化:建库、建表、建用户、授权、导入/导出 SQL、执行 SQL、慢查询分析
- 备份:定时全量/增量 → 存本地 / S3 / MinIO / OSS / COS / WebDAV → 保留策略(如每天 1 次、保留 30 天)
- 一键恢复:点快照 → 选目标库 → 恢复
2.4 备份 / 恢复(统一入口)
支持备份对象:网站目录、数据库、容器卷、自定义路径
存储后端:本地 / S3 兼容 / 阿里云 OSS / 腾讯云 COS / 七牛云 / 又拍云 / WebDAV / SFTP
策略:每日/每周/每月、保留份数、压缩加密(AES-256)、上传并发、带宽限制
恢复:选时间点 → 选目标位置 → 一键还原
2.5 文件管理 + Web Terminal(替代 SFTP/SSH)
- 文件管理器:上传/下载/编辑/解压/压缩/权限修改/搜索,支持多标签、拖拽
- Web Terminal:
bash/zsh/fish 全支持、命令历史、复制粘贴、全屏,无需开 22 端口给运维
2.6 应用商店(一键部署 100+ 热门服务)
| 分类 | 典型应用 |
| 媒体/下载 | Jellyfin、Emby、Plex、qBittorrent、Transmission、Alist、Navidrome、Audiobookshelf、PhotoPrism、Immich |
| 智能家居 | Home Assistant、Homebridge、ESPHome、Zigbee2MQTT、Frp、NPS |
| 开发/协作 | Gitea、Drone、GitLab、GitLab Runner、Vaultwarden、Nextcloud、OnlyOffice、Wiki.js、Outline |
| 监控/运维 | Prometheus、Grafana、Uptime Kuma、Netdata、Watchtower、Dozzle |
| 数据库/中间件 | MySQL、PostgreSQL、Redis、MongoDB、MinIO、Nginx、Traefik、Caddy |
| 安全/网络 | CrowdSec、Fail2Ban、WireGuard、Tailscale、Headscale、AdGuard Home、Pi-hole |
自定义应用:在「应用商店」→「自定义应用」粘贴 Compose YAML → 变量化参数 → 以后像官方应用一样一键部署/更新。
2.7 系统监控 & 告警
- 仪表盘:CPU/内存/磁盘/网络/负载/温度/进程 Top N、Docker 容器资源占用
- 告警规则:阈值触发 → 推送钉钉/企业微信/飞书/Telegram/邮件/Webhook
- 日志聚合:容器日志、Nginx 访问/错误日志、系统日志统一查看、关键词高亮
2.8 安全加固(开箱即用)
- 登录保护:二次验证(TOTP)、限制登录失败次数、IP 白名单、修改入口路径
- SSH 管理:查看登录记录、一键禁用密码登录、导入公钥、修改端口
- 防火墙:可视化 iptables/nftables 规则、端口开放/关闭、国家/地区 IP 拦截(GeoIP)
- 漏洞扫描:对接开源扫描器(可选),定期扫描镜像/系统包 CVE
—
3. 进阶玩法(生产环境建议)
3.1 反代面板本身(给 1Panel 上 HTTPS)
# 在 1Panel「网站」里给面板域名 panel.example.com 加反代
# 目标 URL: http://127.0.0.1:8080
# 勾选 SSL → 自动证书
# 自定义配置加:
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
3.2 多节点集中管理(企业版功能,社区版可手动同步)
- 配置同步:把
/opt/1panel/config.yaml、/opt/1panel/data 纳入 Git 仓库或 Ansible 管理
- 批量部署:用 Ansible
community.docker.docker_compose 模块把 1Panel 部署到新机器 → 导入备份 → 分钟级交付
3.3 对接外部监控(Prometheus + Grafana)
1Panel 暴露 /metrics(需在设置开启),Grafana 导入官方 Dashboard(ID: 18649)即可监控面板自身 + 容器 + 系统指标。
3.4 迁移宝塔 / 手动部署的站点到 1Panel
# 1. 网站文件打包迁移
tar -czf site-backup.tar.gz /www/wwwroot/example.com
# 2. 数据库导出
mysqldump -u root -p dbname > db.sql
# 3. 在 1Panel:
# - 新建网站 → 反代/静态/动态按需选
# - 数据库 → 新建同名库/用户 → 导入 db.sql
# - 文件管理器上传解压到网站根目录
# - SSL 证书 → 同步/重新申请
# - 修改 DNS 解析 → 验证
—
4. 常见坑 & 避坑指南
| 现象 | 原因 | 修正 |
| 面板打不开、8080 端口连不上 | 安全组/防火墙没放行、systemd 服务未启动 | sudo systemctl status 1panel;云厂商控制台放行 8080/443/80 |
| 申请证书失败(HTTP 验证) | 80 端口被占用/反代层拦截 | 用 DNS 验证;或确保 80 直达面板 OpenResty |
容器启动报 permission denied | 宿主机目录权限不对 | 面板「文件管理」→ 目录右键「权限」→ 设为 1000:1000 或容器内用户 UID/GID |
| Compose 部署后访问 404 | 网络模式/端口映射冲突 | 检查容器网络是否同一 bridge,宿主机端口未被占用 |
| 备份任务卡住/超时 | 大文件/网络抖动/存储后端限流 | 调大超时、分卷备份、限制上传并发 --transfers 2 |
| 面板升级后插件/应用商店空白 | 缓存未清/版本不兼容 | docker exec -it 1panel 1panel reset-password 重置;或清浏览器缓存 |
| 数据库无法连接 | 容器网络隔离/防火墙 | 确保数据库容器与应用容器同网络,或映射宿主机端口并放行 |
—
5. 维护清单(贴在运维文档里)
| 频率 | 动作 |
| 每天 | 面板自动检查更新(设置 → 系统更新 → 自动检查) |
| 每周 | 查看备份任务日志、证书到期时间、磁盘占用 |
| 每月 | docker system prune -f 清理无用镜像/卷、导出面板配置备份 |
| 每季度 | 升级 1Panel 版本(设置 → 系统更新 → 立即更新)、轮换数据库密码、审计用户权限 |
—
6. 一键部署模板(放入「自定义应用」即可复用)
# 自定义应用:NAS 全家桶(含 Jellyfin/qB/Alist/HA/NPM)
version: "3.8"
services:
npm:
image: jc21/nginx-proxy-manager:latest
container_name: npm
restart: unless-stopped
ports: ["80:80","443:443","81:81"]
volumes:
- /data/config/npm:/data
- /data/config/letsencrypt:/etc/letsencrypt
environment: [TZ=Asia/Shanghai]
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
network_mode: host
volumes:
- /data/config/jellyfin:/config
- /data/media:/media:ro
- /run/user/1000:/run/user/1000
devices: [/dev/dri:/dev/dri]
environment: [TZ=Asia/Shanghai,PUID=1000,PGID=1000]
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
ports: ["6881:6881","6881:6881/udp"]
volumes:
- /data/config/qbittorrent:/config
- /data/downloads:/downloads
environment: [TZ=Asia/Shanghai,PUID=1000,PGID=1000,WEBUI_PORT=8080]
alist:
image: xhofe/alist:latest
container_name: alist
restart: unless-stopped
ports: ["5244:5244"]
volumes:
- /data/config/alist:/opt/alist/data
environment: [TZ=Asia/Shanghai]
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
restart: unless-stopped
network_mode: host
volumes:
- /data/config/homeassistant:/config
- /run/dbus:/run/dbus:ro
environment: [TZ=Asia/Shanghai]
privileged: true
粘贴到「应用商店 → 自定义应用 → 新建」→ 变量化 /data 路径、PUID/PGID → 保存 → 以后点「部署」一键全上。
—
7. 资源链接
—
想把这篇也发上去?回「发 1panel」,我马上推到论坛(标签建议用 开发调优 或新建 面板工具 标签)。