
1Panel 是这两年 Linux 服务器运维圈子里声量不小的一个开源面板很多刚买云服务器的新手都在问怎么装、怎么用。它解决的其实是新手最头疼的问题不会敲命令行、不想用 SSH 去改 Nginx 配置、不想手动折腾防火墙和 SSL 证书。装上 1Panel 之后网页上点一点就能管理网站、数据库、Docker 容器、定时备份甚至还能直接配置反向代理跑多个网站。这篇文章我从服务器初始化的实际经验出发一步步把 1Panel 的安装前准备、完整安装流程、首次登录配置以及高频需求“反向代理多站点”的玩法都写清楚适合刚入手 Linux 服务器、或者以前只用过其他面板想换个新方案的朋友。1. 1Panel 到底是什么为什么值得新手用1.1 一个基于 Docker 的服务器管理面板能管哪些事1Panel 是飞致云做的一款开源 Linux 服务器管理面板代码放 GitHub 上支持 GitHub 认证、Star 数也不少社区活跃度挺高。它的核心逻辑是在服务器上装一个 Web 管理端通过浏览器访问用图形化界面接管服务器日常运维工作。底层大量依赖 Docker所以面板里的应用商店、数据库、网站环境基本都是跑在容器里隔离性和可移植性比传统直接在系统里装 LNMP 要好。它的功能模块覆盖得很全服务器监控CPU、内存、磁盘、网络流量曲线、终端、文件管理、Docker 管理容器、镜像、网络、卷、应用商店WordPress、MySQL、Redis、Gitea、Nginx 等一键安装、网站管理、数据库管理、计划任务、日志审计、防火墙管理、SSL 证书管理等。对新手来说这些功能足够覆盖 90% 的日常操作不用再为每件事单独翻教程敲命令。1.2 哪些人最需要 1Panel哪些人其实不适合如果你是这几类人1Panel 非常适合你刚买了云服务器打算建站或跑个人项目的新手会一点 Linux 但不是特别熟练不太想背命令的运维需要在一台服务器上维护多个网站但又不想手动改 Nginx 配置的人有 Docker 基础、想用容器化方式部署应用但缺一个省事的管理界面的开发者。反过来如果你是那种原则性很强、坚持所有配置都手写、希望服务器上越干净越好的老派用户那面板反而可能成为你的负担。1Panel 会在系统里安装 Docker 和 OpenResty 等组件占用的资源和“侵入性”比较大。另外如果你只是临时跑一个一次性脚本完全没必要为一个任务装面板。所以先想清楚需求再决定要不要装。1.3 和宝塔这类传统面板比1Panel 有哪些差异很多新手第一反应是问“和宝塔比怎么样”。宝塔确实生态成熟、插件多但 1Panel 有它自己的特点界面更现代功能模块清晰开源程度更高社区版可以自由使用不少功能底层默认走 Docker应用安装和隔离方式更干净对 Docker 原生支持好自己装容器镜像很方便集成了 Lets Encrypt 等 SSL 证书申请和自动续期建站体验比传统面板更顺手运维交互上也有 Web 终端、实时监控等现代功能。当然这不意味着 1Panel 能替代宝塔的所有场景。如果你依赖大量宝塔插件、习惯它的生态迁移成本还是要考虑的。我的建议是新项目直接上 1Panel旧项目不用强行迁。2. 安装前准备这些事不做后面全是坑2.1 服务器配置要求到底要多高很多新手担心自己买的服务器配置不够装面板。官方要求是 CPU 至少 1 核、内存至少 1GB、磁盘至少 20GB、系统支持 CentOS 7.9、Ubuntu 20.04/22.04/23.04、Debian 10 等主流 Linux 发行版。但我的实际经验是1GB 内存装完面板再跑一两个小容器内存基本就见底了稍微开个 MySQL 加 WordPress 就可能卡顿甚至被系统 OOM kill。所以我的建议是至少 2GB 内存起步预算允许的话 4GB 更舒服。磁盘方面20GB 是底线实际跑起来 Docker 镜像、日志、备份文件都很吃空间50GB 以上比较稳。架构方面 x86_64 和 ARM64 都支持像腾讯云轻量服务器、阿里云 ECS、AWS Lightsail 这些实例都没问题买的时候选择 2核4G 或者 2核2G 的套餐即可。2.2 云服务器安全组和系统防火墙要提前放行端口这是新手最容易忽略却最影响体验的环节。很多人在面板上看到服务正常启动了但浏览器就是访问不了十有八九是云平台安全组没放行对应端口或者系统防火墙没开。云厂商控制台的“安全组”默认通常只放行 22SSH、80HTTP、443HTTPS等少数端口1Panel 面板端口是自定义的随机端口必须先手动加规则放行。我一般会在跟前把下面几件事都做好在云控制台的安全组入站规则里加上面板端口TCP再加上以后可能用到的网站端口80、443和 SSH 端口22进服务器后检查系统防火墙Ubuntu 用 ufwCentOS 用 firewalld确认目标端口允许访问如果是 CentOS 还要注意 SELinux 是否开启安装脚本通常会对 SELinux 做自动判断但访问异常时可以优先排查这一项。2.3 域名准备装之前就规划好站点名字如果只是把面板装起来看一眼其实不需要域名但如果你想用 1Panel 配置反向代理、跑多个网站那一定要提前把域名规划好。多个网站共用一个服务器 IP 的核心靠的就是域名区分没有域名就只能用“IP:端口”这种原始方式访问既不好看也不方便上 HTTPS。所以在安装前建议先把自己名下域名解析到服务器 IP比如主域名 example.com三个子域名 blog.example.com、git.example.com、next.example.com 都先添加 A 记录指向服务器公网 IP。解析之后等个几分钟用ping或在线工具确认域名已经指向服务器 IP再开始装面板。这个过程不会花太多时间但它是后面创建反向代理站点、申请 Lets Encrypt 证书的前提条件。域名一旦解析生效后边的配置就是一马平川。3. 新手安装 1Panel 完整实操流程3.1 使用官方一键脚本安装1Panel 官方提供了非常友好的安装方式一条命令搞定。首先 SSH 登录服务器然后执行curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh sudo bash quick_start.sh这个脚本会先做环境检测检查你用的发行版、架构、是否已经装了 Docker 等然后自动安装 Docker、Docker Compose 和 1Panel 主程序。如果服务器在国内拉取 Docker 官方镜像可能会遇到超时脚本一般会自动处理镜像源切换但执行前最好保证服务器网络通畅。执行过程中需要手动确认一些配置建议全程用默认值先跑通后续再在后台改。安装时间取决于服务器性能和网络状况通常在 15 分钟之间。安装完成后终端会打印出面板访问地址、用户名、密码这些关键信息一定要先截图或复制保存后面登录要用。3.2 安装过程中的几个关键参数怎么选先说说端口。1Panel 安装时会让你设置面板端口默认是随机生成一个五位端口比如 38672。这个设计很聪明因为面板本身就是管理入口端口越不常规越难被扫描到。我自己一般会手动指定一个五位以上的端口避开 80、443、8080、8888 这些常用端口同时也避开 SSH 的 22。注意端口必须小于 65535且不能被系统其他服务占用。再说账号和密码。安装时可以指定管理员用户名默认随机生成一串字母数字。密码强度要求比较高必须包含大小写字母和特殊字符。第一次输入如果提示太弱就再组合一次。安装目录默认放在/opt强烈建议新手保持默认不要改到不熟悉的位置否则后续升级、备份、迁移的路径会变得很乱。3.3 安装完成后首次登录面板安装完成后用浏览器打开安装结果里的地址比如http://服务器IP:端口。第一次访问会加载一个初始化界面让你设置管理员密码和确认一些基础配置。如果端口是 80 或 443地址栏里可以省略端口如果是其他端口一定要写全。登录之后建议先做三件事第一打开“设置”页修改面板端口如果还想要更安全可以绑定固定授权 IP第二开启两步验证2FA用一个 TOTP 工具扫码绑定这样即使密码泄露也能阻止外部访问第三看一眼“监控”页的默认轮询设置确认统计数据正常。第一次登录的体验很重要把这些安全基础打好后面维护起来会省很多麻烦。3.4 升级、重启和卸载的注意事项1Panel 的升级非常方便一般在面板右上角会提示有新版本点击就能自动完成升级。如果面板打不开了可以用命令行方式手动升级在 SSH 里执行1pctl update。重启面板服务用systemctl restart 1panel查看状态用systemctl status 1panel。这些命令偶尔会遇到记下来比以后百度快。卸载方面如果确定不用面板了可以用官方脚本或1pctl uninstall处理但我建议新手不要轻易卸载。Linux 世界里“卸载不干净”带来的问题比“用不上”更头疼。面板装的 Docker 环境其实对后续部署容器也很有用留着它反而方便。如果只是想停掉面板服务直接关闭系统服务即可不用卸载。4. 进阶必学用 1Panel 配置反向代理一台服务器跑多个网站4.1 反向代理到底解决了什么问题反向代理这个概念听起来复杂其实用大白话说就是用户访问你的域名时请求先到达服务器上的 Nginx1Panel 用的是 OpenRestyNginx 再根据域名把请求转发给后边的真实服务程序。举个例子你有一个 Node 应用跑在http://127.0.0.1:3000一个 Java 应用跑在http://127.0.0.1:8080两个程序都不想直接暴露端口也不想在地址栏里带端口号那就可以让 Nginx 监听 80/443按域名转发到对应端口。好处非常明显所有外部流量统一走 80/443安全控制集中能随时加 HTTPS不会出现“访问服务要记一串端口号”的情况多个服务可以跑在同一台服务器上互不冲突后端服务的地址可以对外隐藏只用反向代理后的域名暴露出去。1Panel 把这种配置封装成了图形界面新手完全不用手写 Nginx 配置。4.2 多站点场景规划域名、端口、服务对应关系在动手配置之前先把我最推荐的结构梳理出来。假设你有一台 2 核 4G 的云服务器IP 为1.2.3.4想在上面同时跑三个服务域名后端服务实际监听地址blog.example.comWordPressDocker 安装127.0.0.1:8080git.example.comGitea应用商店安装127.0.0.1:3000next.example.com自建 Next.js 应用127.0.0.1:4000三个域名都提前做 A 记录解析到1.2.3.4。安装 1Panel 之后通过“网站 - 创建网站 - 反向代理”为每个域名分别创建一个反向代理站点代理目标分别指向对应服务的监听端口。最终效果是用户访问 blog.example.com 看到博客、访问 git.example.com 看到代码仓库、访问 next.example.com 看到前端应用浏览器地址栏完全没有端口号体验非常干净。4.3 在 1Panel 里创建反向代理站点的具体步骤在配置之前先在应用商店安装 OpenResty也就是 Nginx 增强版。安装完之后打开“网站”页面点击“创建网站”类型选择“反向代理”填主域名再填一个或两个辅助域名这里留空也可以在最下面“代理地址”填实际后端服务地址比如http://127.0.0.1:8080。1Panel 会自动处理 Nginx 配置文件不需要你手动去写 server block。有几个关键选项值得说清楚如果代理的服务是 WebSocket 服务比如一些聊天应用或 VSCode Server要开启 WebSocket 支持如果后端服务要求真实客户端 IP不要关闭透传头如果服务就在本机代理地址一定用127.0.0.1而不是公网 IP能减少一层不必要的网络开销和防火墙问题。创建完成之后1Panel 会生成一个可独立启停的网站条目。你可以随时点“打开”查看 Nginx 配置内容但新手不需要改它。如果后端服务换了端口直接在反向代理编辑里改代理地址然后点保存即可生效不用手动 reload Nginx。4.4 给多个站点开启 HTTPS 并自动续期1Panel 最省心的功能就是自动申请 Lets Encrypt 免费证书。在某个网站的“配置 - HTTPS”里勾选“启用 HTTPS”选择证书来源为 Lets Encrypt填入一个邮箱即可。前提已经强调过了域名必须提前解析到服务器而且 80 端口能从外网访问否则验证会失败。多个站点的申请逻辑是分开的每个域名各自动申请一张证书。如果你觉得每张证书都独立申请太啰嗦也可以申请一张泛域名证书*.example.com这样所有子域名都能共用。泛域名申请需要配置 DNS 验证1Panel 支持阿里云、腾讯云、Cloudflare 等多种 API 方式对新手稍复杂我建议先让单个域名各自申请跑通再优化成泛域名。1Panel 默认会在证书快到期时自动续期这是它的一大亮点。你可以在“计划任务”里看到证书自动续期相关任务不用自己写 cron 脚本。刚开始配置 HTTPS 后记得用浏览器无痕模式访问一下域名确认小锁图标出现、证书没有告警。4.5 多个网站共存时的冲突实例与排查多站点场景下最经典的问题就是配置错乱。有次我一个客户把两个域名绑到了同一个反向代理站点里结果访问 A 域名时跳到了 B 域名的页面排查了很久才发现是辅助域名重复绑定。所以在 1Panel 里创建每个站点时主域名、辅助域名一定不要和其他站点重复Nginx 是靠server_name区分请求的域名冲突直接导致路由错乱。第二个常见问题是后端服务绑定了 127.0.0.1但代理地址填了localhost这在某些服务器上有双栈 IP 问题可能解析成::1导致连接被拒。建议一律使用明确的http://127.0.0.1:端口。第三个问题是后端服务没有设置正确的 Host 头1Panel 默认会带上 Host但如果你在代理配置里关掉了它目标服务可能返回错误页面。遇到这类问题优先去看目标服务的日志而不是反复改 Nginx。5. 高频问题排查与避坑经验实录5.1 外网访问不了面板怎么办这个问题的出现频率最高。先从最外层开始排查云控制台安全组有没有放行面板端口。我遇到过太多次“面板明明起来了但客户说打不开”结果一看安全组只放了 22 端口。其次检查系统防火墙CentOS 是firewall-cmd --list-portsUbuntu 用ufw status确认端口没有拦截。如果安全组和防火墙都通了再看面板服务本身systemctl status 1panel确认是 active 状态。如果服务没起来多半是安装时磁盘空间不足或者端口被占用可以用df -h和ss -lntp检查。还有一个隐藏问题部分云厂商的服务器默认开启了 TCP 连接数限制或DDoS 防护外部访问可能被误杀这种就只能提工单或换一个端口再试。5.2 Docker 拉取镜像超时或失败国内服务器拉取 Docker Hub 官方镜像经常会卡住。1Panel 安装时一般会自动配置国内镜像加速但不同服务商的加速地址有效性会变化时而好时而坏。如果拉镜像超时建议手动在 1Panel 的“设置 - Docker 配置”里加镜像源也可以直接改/etc/docker/daemon.json后重启 Docker。这里提醒一下不要同时叠加太多镜像加速地址配置格式写错会导致 Docker 启动失败。如果不知道写哪个地址最稳妥的是先清空配置让 1Panel 自动设置或者去查一下当时仍然在维护的公共镜像源。镜像拉不动时不要用CtrlC打断后反复重试先检查网络连通性再操作否则容易留下半截镜像占用磁盘。5.3 反向代理报 502 和 504 怎么处理502 Bad Gateway 说明 Nginx 和后端服务之间的连接失败常见原因有后端服务没启动、端口写错、服务监听在 127.0.0.1 但代理地址指向了公网 IP、服务本身崩溃了。先到“容器”页面看对应容器状态是否 running再到“终端”里用ss -lntp看端口是否监听。后端是容器时注意容器映射的端口是不是真的映射到了宿主机比如容器内 3000 端口映射到宿主机 3001那代理地址就要写 3001不是 3000。504 Gateway Timeout 说明后端接受连接但迟迟没有响应通常是后端应用执行了长时间任务或者数据库查询太慢也可能是默认超时时间太短。此时可以调 Nginx 的proxy_read_timeout等参数但这些在 1Panel 配置文件里已经封装好一般针对业务场景先优化后端性能再考虑调整代理超时。查看 Nginx 错误日志最直接1Panel 的网站配置页里可以直接看到日志入口。5.4 常见问题速查表现象可能原因排查思路与解决方向访问面板超时安全组未放行、防火墙拦截检查云控制台入站规则和ufw/firewalld面板端口被占用安装了其他服务占用同端口ss -lntp查看占用进程换端口重装网站域名解析不对DNS 没生效或解析到旧 IP用dig/ping验证等待解析生效HTTPS 申请失败80 端口不可外网访问确保安全组放行 80验证域名已指向本机反向代理 502后端服务未运行或端口错误检查容器状态、端口映射、代理地址写法反向代理 504后端处理超时优化后端性能检查数据库慢查询Docker 镜像拉不动国内网络到 Docker Hub 慢配置镜像加速重启 Docker 服务面板磁盘告警日志或备份文件占用清理 Docker 悬空镜像、日志轮转、备份迁移5.5 我踩过几次坑之后总结的避坑心得最值得说的一点是不要在面板安装时才临时去安全组开端口一定要在购买服务器后、正式安装前就把 80、443、SSH、面板端口规划好。否则安装了半天浏览器打不开最容易劝退新手。第二点是装完面板尽早开两步验证不要觉得麻烦。服务器被扫描是常态尤其你暴露了自定义端口后日志里每天都有大量试探记录。第三点是反向代理多个网站时每个服务尽量绑定127.0.0.1并分配独立端口这样端口台账清晰出问题好定位而且容器端口映射记录要单独整理别全部依赖记忆。另外1Panel 更新版本时建议先看官方 Release 说明再升级特别是从大版本跨版本时。我遇到过客户直接升级后部分应用容器需要重建虽然不是灾难但手忙脚乱确实影响体验。升级前在面板里手动创建一个备份快照会让你安心很多。最后再分享一个很实用的小技巧1Panel 的“计划任务”不只是定时备份还可以用来定时执行 Shell 命令。比如我想每 5 分钟检查一次某个服务是否存活通过计划任务写一个几行的健康检查脚本服务挂了就自动通过 Webhook 通知我。这个能力新手可能不知道但它能让 1Panel 真正做到“托管”而不仅是“管理”。玩熟了这些你会发现一台服务器上的事绝大多数都能用它解决。