BLOG

宝塔面板部署个人网站要检查什么

宝塔部署要重点检查运行目录、PHP版本、伪静态、数据库和权限。

分类:运维与部署 阅读:189
宝塔面板部署个人网站要检查什么示意图
宝塔面板部署个人网站要检查什么示意图

部署前先确认站点类型

个人网站的部署方式取决于程序类型。PHP 程序需要 Nginx 或 Apache 转发请求,静态页面只需要指定根目录,数据库类程序还要确认 MySQL 是否正常运行。宝塔面板把域名绑定、SSL 证书、PHP 版本、数据库创建都做成了可视化界面,但面板只是简化操作入口,底层的 Nginx 配置、PHP-FPM 进程和文件权限仍然需要理解。

拿到一台新服务器,先确认操作系统和面板版本,再看 PHP、MySQL、Nginx 的安装状态。宝塔的软件商店里可以查看已安装的运行时版本,版本号决定后续兼容性。比如 PHP 8+ 对旧程序的某些函数支持有变化,程序说明书里标注了版本要求就要按说明来。

运行目录与伪静态

站点能打开但首页空白,或者访问二级页面返回 404,多半是运行目录或伪静态规则没配对。

运行目录是 Web 服务器寻找入口文件的根路径。多数 PHP 框架把入口文件放在 public 子目录里,例如 Laravel、ThinkPHP 6+。如果绑定域名时把网站目录直接指到项目根目录,访问域名会看到目录列表或者报错。正确做法是在宝塔的站点设置里把“运行目录”指向 public,保存后 Nginx 的 root 指令会指向该子目录。

伪静态规则的作用是把 URL 重写到入口文件。Nginx 下常见写法是:

```nginx
location / {
try_files $uri $uri/ /index.php?$query_string;
}
```

宝塔的站点设置里预置了常见程序的伪静态模板,选择对应模板即可。如果程序是自定义路由,需要手动编辑伪静态文件。检查方法很简单:访问一个不存在的路径,如果返回程序自定义的 404 页面说明重写生效,如果返回 Nginx 默认 404 则规则未生效。

PHP 版本与扩展

宝塔支持在同一台服务器安装多个 PHP 版本,站点设置里可以单独指定。选版本时看程序要求,不是越新越好。PHP 8+ 性能好,但老程序可能依赖已移除的函数,例如 each()create_function(),这些在 PHP 8 中已不存在。

PHP 扩展缺失是另一个常见问题。安装程序时提示缺少 fileinfoopcacheexif 等扩展,到宝塔的 PHP 设置里找到“安装扩展”按钮,勾选后重载 PHP-FPM。检查扩展是否生效,可以在站点根目录放一个临时文件:

```php
<?php phpinfo();
```

访问该文件查看扩展列表,确认后删除文件。这个文件不能留在服务器上,它会暴露 PHP 版本、配置路径等敏感信息。

数据库连接与字符集

数据库类站点打不开,先看报错信息。连接数据库失败通常有三种原因:数据库名或用户名写错、密码不对、数据库服务未启动。

宝塔创建数据库时自动生成随机密码,复制后粘贴到程序安装向导即可。手动输入时注意不要多出空格。MySQL 默认监听 127.0.0.1,程序里数据库主机填 localhost127.0.0.1 都可以,不要填服务器公网 IP,除非你确认 MySQL 配置了远程访问。

字符集问题容易忽略。数据库和表的排序规则不一致,中文内容可能变成问号。创建数据库时选择 utf8mb4,程序配置文件里的字符集也保持一致。检查方式:在 phpMyAdmin 里查看表的排序规则,或者用 SQL 查询:

```sql
SHOW TABLE STATUS FROM 数据库名;
```

文件权限与目录保护

Linux 下文件权限决定 PHP 能否读写。宝塔默认创建站点时设置了合理的属主和权限,但上传程序文件时用 FTP 或面板文件管理器操作,可能改变属主。

常见的权限配置是:文件 644,目录 755,属主为 www。运行目录、上传目录、缓存目录需要可写,权限可以放宽到 755 属主 www,不要直接 chmod 777,那会让所有用户都可写,存在安全风险。

上传目录要禁止执行 PHP。宝塔的站点设置里可以配置目录保护,或者手动在 Nginx 配置中加入:

```nginx
location ~* /uploads/.*\.php$ {
deny all;
}
```

这样即使攻击者上传了恶意 PHP 文件,也无法通过 URL 执行。

HTTPS 与强制跳转

部署完 HTTP 站点后,申请 SSL 证书并开启 HTTPS。宝塔支持 Let's Encrypt 免费证书,申请后自动续期。开启后要确认两点:证书是否生效,HTTP 是否自动跳转到 HTTPS。

证书生效检查:浏览器地址栏显示锁图标,点击可查看证书详情。强制跳转在宝塔的 SSL 设置里打开“强制 HTTPS”,或者在伪静态规则里加跳转语句。跳转配置错误会导致循环重定向,浏览器提示“重定向次数过多”,这时检查规则里是否同时存在 HTTP 跳 HTTPS 和 HTTPS 跳 HTTP 的冲突。

日志与备份

站点上线后,错误日志是排查问题的第一手资料。宝塔的站点设置里可以开启错误日志,默认路径在 /www/wwwlogs/ 下,文件名类似 站点域名.error.log。PHP 错误也可以记录到文件,在 PHP 配置里设置 log_errors = Onerror_log 路径。

日志会持续增长,需要定期清理。宝塔有日志切割功能,按天生成文件并保留指定天数。磁盘空间不足时,先看日志目录和备份目录占用,不要盲目删文件。

备份策略要提前定好。宝塔的“计划任务”可以定时备份网站文件和数据库,备份到本地磁盘或远程存储。恢复边界要清楚:数据库备份恢复会覆盖现有数据,恢复前确认备份时间点,避免把旧数据覆盖新数据。备份频率和保留份数根据内容更新量决定,内容更新频繁的站点可以缩短备份间隔,长期不更新的静态页面可以拉长间隔。

上线后的检查清单

部署完成后,按顺序过一遍:

  • 访问首页和几个内页,确认无 404 和 500
  • 手机浏览器打开,确认布局没有错位
  • 提交一个表单或发布一条内容,确认数据库写入正常
  • 查看错误日志,确认没有新增报错
  • 检查磁盘空间 df -h,确认日志和备份没有撑满分区
  • 确认后台地址没有暴露在搜索引擎,robots.txt 里可以屏蔽后台路径

遇到异常时先保留现场。记录当前时间、报错信息、最近修改过的配置,再逐项排查。原因不明时不要同时修改多个地方,否则无法判断哪个改动生效或引入了新问题。

部署文档值得花时间写清楚。记录域名、PHP 版本、数据库名、备份路径、证书到期时间,下次维护或迁移服务器时直接照做,不需要重新摸索。

评论

登录后可发表评论。