搭不起来通常卡在三处:面板根本没装成功、装好了进不去面板后台、站点建好了外网打开是 403/404/502。搜「宝塔面板搭建网站教程」的人多数不是缺步骤清单,而是不知道某一步失败后该看哪个输出。这篇按真实排查顺序写:先确认前提,再给最短可用路径,然后拿一个具体场景把配置取值写死,最后给三个高频报错对应的检查位置。面板版本、组件版本、面板端口这类会变的东西,都以你服务器上 bt default 的输出和面板里软件商店显示的为准。
判断顺序建议是:面板登录页打不开,先查端口和云安全组,别急着重装;面板能进、站点打不开,再按域名解析、根目录文件、伪静态、PHP 版本四步往下排。操作上先用cat /etc/os-release和whoami确认系统版本与 root 权限,再用bt default拿到入口地址,装完 Nginx/PHP/MySQL 后添加站点。验证方式是外网访问域名看到程序首页而不是默认页。边界:宝塔只是把 Nginx、PHP、MySQL 的配置做了可视化封装,配置本身的冲突仍要回到站点配置文件和日志里查。
宝塔面板搭建之前先确认这三件事
这三件事缺一件,后面的步骤都会以「命令跑完没反应」或「页面打不开」的形式表现,但根因不在这三件事上。
- 系统版本和架构:在服务器上执行
cat /etc/os-release看发行版和版本号,执行uname -m看是 x86_64 还是 aarch64。面板对哪些系统版本提供支持、对应哪套安装命令,写在宝塔官网安装页上,以那个页面当前给出的列表为准。不要凭记忆套用旧教程里的脚本名。 - 权限:执行
whoami,返回root才继续;返回普通用户名就先sudo -i切过去。安装脚本需要写系统目录和注册服务,非 root 执行通常直接报权限错误,或者装到一半中断。另外确认磁盘剩余空间,df -h看根分区,编译安装 MySQL、PHP 会占掉不少空间。 - 入口位置:安装完成后终端会打印一次面板地址、用户名、密码,但这行输出很容易被滚屏冲掉。随时可以在服务器上执行下面的命令重新取回:
# 重新显示面板地址、用户名、密码
bt default
# 只查看面板当前端口
cat /www/server/panel/data/port.pl
还有一个不在服务器里、但同样属于「入口」的位置:云厂商控制台的安全组入方向规则。面板端口没在安全组放行,浏览器就是打不开,服务器本机 curl 却是通的。这个坑下面还会单独说。
宝塔面板搭建:最短可用路径
从零到域名能打开,只保留五步。每一步都写了「做完该看到什么」,看不到就停下排查,不要继续往下叠加。

- 装面板:复制宝塔官网安装页当前给出的那条命令,在 root 下执行。跑完终端会输出面板地址、账号、密码,并提示已加入开机启动。这时立刻执行一次
bt default,确认输出的是同一组信息。 - 放行端口:先在云控制台安全组放行面板端口,再在服务器本机放行。CentOS 系用
firewall-cmd --list-ports查看当前已放行端口,Ubuntu/Debian 用ufw status。做完用浏览器打开面板地址,应当看到登录页(自签证书会提示风险,属正常现象)。 - 装运行环境:登录面板后进入「软件商店」→「运行环境」,安装 Nginx、MySQL、PHP 三件套。PHP 版本按你要部署的程序要求选,装之前在程序的官方说明里确认它支持的版本区间。装完在软件商店列表里能看到「已安装」状态和运行状态。
- 添加站点:「网站」→「添加站点」,填域名、根目录、PHP 版本,需要数据库就勾选并填库名。提交后站点列表出现该站点,「根目录」可以点进文件管理,能看到默认生成的
index.html和.user.ini。 - 上传程序并解析域名:把程序文件上传到站点根目录(可先删掉默认
index.html),在域名服务商处把域名 A 记录指向服务器公网 IP,再回到站点设置里选对应的伪静态规则。做完用外网访问域名,应当看到程序安装页或首页。
宝塔面板搭建:一个真实场景的完整做法
场景:一台 2 核 4G 的云服务器,系统 Ubuntu 22.04,部署一个 WordPress 企业展示站,站点内容是约 100 篇文章和若干产品图,日常访问量不高,数据库和应用都在这台机器上。这个体量不需要拆分数据库,单机足够。
按顺序的取值如下,每项都标了在哪个页面或文件里设置:

- 站点域名:
www.example.com为主域名,添加站点时把不带 www 的也一起填上,或者后续在「网站」→「域名管理」里加 301 跳转。 - 根目录:
/www/wwwroot/www.example.com,在「网站」→「添加站点」的根目录字段里确认。 - PHP 版本:先在 WordPress 插件市场或主题说明里确认目标插件支持的 PHP 版本,再在添加站点的 PHP 版本下拉框里选对应版本,不要默认选最新。
- 数据库:库名
wp_example,字符集选utf8mb4,在添加站点时勾选「创建数据库」一并生成。 - 伪静态:「网站」→ 站点 →「伪静态」,下拉直接选
wordpress。如果手动写进「配置文件」,对应的规则是:
location / {
try_files $uri $uri/ /index.php?$args;
}
- 上传限制:站点装完主题或导入备份常遇到上传失败。在「软件商店」→ PHP 设置 →「配置修改」里把
upload_max_filesize和post_max_size调到 20M,保存后重载 PHP 生效。 - 数据库连接:
wp-config.php里的DB_HOST填localhost,DB_NAME填wp_example,用户名密码与面板「数据库」页面里显示的保持一致。 - SSL:在站点「SSL」页用 Let's Encrypt 一键申请,申请前域名必须已经解析到本机且 80 端口放行,否则校验会失败。签完开启「强制 HTTPS」。
验证方式不用开浏览器猜,直接在服务器上请求一次,看状态码:
curl -I http://www.example.com
# 期望看到 200,或者开启强制 HTTPS 后的 301
tail -n 50 /www/wwwlogs/www.example.com.error.log
# 有报错就按日志里的文件路径和行号改,不要凭现象猜
宝塔面板搭建:跑不通先查这三处
按出现频率从高到低排,每条都写了页面上会看到的原话和对应检查位置。
一、浏览器提示「无法访问此网站」,错误代码 ERR_CONNECTION_TIMED_OUT。先分清是服务器没起来还是端口没放行:在服务器本机执行 curl -I http://127.0.0.1:8888,本机能通说明面板正常,问题在放行这一层。接着对三处:bt default 输出的端口号;云控制台安全组入方向是否放行了同一端口;firewall-cmd --list-ports 或 ufw status 的当前状态。这三处都确认过还是不通,再考虑面板服务本身,用 bt 命令菜单里的重启选项重启面板,而不是直接重装。

二、WordPress 首页显示「建立数据库连接时出错」(英文界面为 Error establishing a database connection)。这说明 PHP 已经在跑、只是连不上库。检查顺序:wp-config.php 里的四个常量是否与面板「数据库」页显示的一致;DB_HOST 是否被改成了外网地址(同机部署应填 localhost);面板「数据库」列表里这个库是否还在,以及 root 密码是否在面板里改过但程序侧没同步。改完配置不需要重启服务器,刷新页面即可。
三、访问域名看到「站点创建成功」默认页,或返回 403 Forbidden、404 Not Found。默认页没被覆盖是最常见的原因:进「网站」→ 站点 →「根目录」,确认默认生成的 index.html 已删除,程序文件确实解压在根目录下而不是多套了一层文件夹。403 还要看站点「PHP 版本」是否被设成了纯静态;404 多半是伪静态没选对,首页能开但内页全 404 就是典型特征。如果是 502 Bad Gateway,那是 PHP 服务的问题,看 /www/wwwlogs/ 下对应域名的 error log,确认 PHP 版本已安装且 php-fpm 处于运行状态。