跳到主要内容
注册无需实名认证
安云主机 AnYun VPS

教程 · 应用与数据库

要不要装面板:1Panel 与宝塔的取舍

难度

入门

预计时长

20 分钟

步骤

7

最近修订

基准系统

Debian 12

要点

要不要装面板:1Panel 与宝塔的取舍

面板把建站、证书、数据库与容器管理收进一个 Web 界面,代价是它会接管 Nginx、PHP 与防火墙配置,与手工维护的配置容易互相覆盖。装面板的机器建议从干净系统开始、面板端口只对自己的 IP 放行,并且不要在同一台机器上再手工搭一套 LNMP。

前置条件

开始之前,先确认这些都具备

  • 一台刚重装完、上面没有手工部署过服务的机器
  • sudo 权限与控制台 VNC 访问方式

操作步骤

7

  1. 步骤 01 / 07

    先判断自己需不需要面板 #

    面板适合的情况:管理多个站点、团队里有人不熟悉命令行、需要图形化地看数据库和文件。不适合的情况:机器上已经手工配好了 Nginx 与 PHP、跑的是容器化的单一应用、或者你本来就习惯用命令行 —— 那样面板只会多引入一层不受控的配置来源。中间路线是用面板管站点、用命令行管系统,但边界必须事先划清楚。

  2. 步骤 02 / 07

    了解两者的定位差异 #

    1Panel 是近年比较活跃的开源面板,设计上偏向容器化管理,界面较新;宝塔(BaoTa)在中文用户中使用面最广、插件与教程最多,其国际版名为 aaPanel。据其官方说明,部分功能可能需要绑定账号或购买插件,具体条款请以官网当前页面为准。选型时建议以「你遇到问题时能不能搜到解决方案」为主要标准,而不是界面好看程度。

  3. 步骤 03 / 07

    从官网获取安装命令,并且先读再跑 #

    不要从论坛帖子或第三方博客复制安装脚本 —— 那是一段以 root 身份执行的代码,来源必须是官方站点。正确做法是先下载到本地、通读一遍、确认它做了什么,再执行。下面的地址是占位示例,请以官网当前公布的为准。

    Shell
    # 安装地址以官网当前公布的为准,不要照抄任何第三方文章
    curl -fsSLO https://官方地址/quick_start.sh
    
    # 先读一遍:它会装什么、改哪些配置、开哪些端口
    less quick_start.sh
    
    sudo bash quick_start.sh
  4. 步骤 04 / 07

    装完立刻改掉默认入口 #

    面板安装完成会显示一个访问地址、默认端口与初始账号,请立刻做三件事:改端口、改入口路径(安全入口)、改成强密码并开启两步验证(如果面板支持)。默认端口加弱口令的面板,是扫描器最喜欢的目标之一。

    Shell
    # 记录下面板给出的初始信息后,第一时间在面板设置里修改:
    #   1. 面板端口(避开默认值)
    #   2. 安全入口路径
    #   3. 管理员密码(长随机密码)
    #   4. 两步验证(如可用)
  5. 步骤 05 / 07

    把面板端口锁给自己的 IP #

    面板是一个能以 root 权限操作整台机器的 Web 应用,没有任何理由让它对全网开放。有固定 IP 的话只放行自己;没有固定 IP 的话,用 SSH 端口转发访问面板,防火墙上根本不开这个端口。

    Shell
    # 有固定 IP:只放行自己
    sudo ufw allow proto tcp from 203.0.113.0/24 to any port 面板端口 comment 'panel'
    
    # 没有固定 IP:完全不开放端口,用 SSH 隧道访问
    ssh -N -L 8888:127.0.0.1:面板端口 -p 22022 [email protected]
    # 然后浏览器访问 http://127.0.0.1:8888
  6. 步骤 06 / 07

    划清面板与手工配置的边界 #

    面板会用自己的模板生成 Nginx 配置、管理 PHP 版本、有时还会自带一套防火墙规则。一旦你在面板外手工改了同一个文件,下一次在面板里保存设置就可能把你的改动覆盖掉。规则很简单:这台机器上的 Web 配置,要么全部走面板,要么全部手工,不要各改一半。

    Shell
    # 摸清面板把配置写在哪里,出问题时才知道去哪看
    sudo nginx -T | grep -E "configuration file" | head -n 20
    sudo ss -tlnp | grep -E ':(80|443|面板端口)'
  7. 步骤 07 / 07

    面板不负责备份,你负责 #

    面板通常提供备份功能,但默认往往备份到本机磁盘 —— 那不是异地备份。把面板的备份目录纳入 restic 的备份范围,或者直接按备份教程另建一条链路。

    Shell
    # 把面板的备份目录一并纳入异地备份
    restic backup /www /opt/1panel /var/backups --exclude-caches

常见错误

这一步最容易踩的坑

下面每一条都对应一个真实会发生的故障。先读完再动手,比出问题之后再回来查要省时间。

  • 面板端口对公网开放且用默认路径。这等于把一个 root 级别的管理界面挂在公网上等人来试密码。
  • 在已经手工搭好 LNMP 的机器上装面板。两套配置互相覆盖,出问题时几乎无法排查,正确做法是重装系统再装面板。
  • 从第三方文章复制安装脚本。你以 root 执行的每一行代码,都应该来自你信任的来源。
  • 面板自带的防火墙与系统上的 ufw 同时启用,规则互相打架,看着开了其实没开。
  • 装完面板就以为安全了。面板不是安全产品,SSH 加固、密钥登录、备份这些一件都不能少。
  • 长期不升级面板版本。管理面板是攻击面最大的一类软件,它的漏洞公告值得订阅。
  • 面板的一键备份存在本机磁盘上,误以为已经有备份了。

这篇教程的边界

  • 命令以 Debian 12 为准。Ubuntu 与 Rocky Linux 的差异只在正文明确标注之处,未标注的部分请以你所用发行版的官方文档为准。
  • 示例中的 IP 来自文档保留段 203.0.113.0/24,域名为 example.com,端口为示意值。复制后必须替换成自己的值, 原样执行不会有任何效果。
  • 教程不能替代备份。任何会改动数据或线上流量的步骤,执行前先确认有一份验证过能恢复的备份。
  • 本站不提供任何用于绕过网络审查的配置或说明,这篇也不例外。

发现命令过时或有误,请发邮件到 [email protected]。 指出错误的邮件比沉默的旧文档有价值得多。

联系 工单
扫码
手机访问

扫码在手机上打开