BLOG
宝塔面板部署个人网站要检查什么
宝塔部署要重点检查运行目录、PHP版本、伪静态、数据库和权限。
部署前先确认站点类型
个人网站的部署方式取决于程序类型。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 扩展缺失是另一个常见问题。安装程序时提示缺少 fileinfo、opcache、exif 等扩展,到宝塔的 PHP 设置里找到“安装扩展”按钮,勾选后重载 PHP-FPM。检查扩展是否生效,可以在站点根目录放一个临时文件:
```php
<?php phpinfo();
```
访问该文件查看扩展列表,确认后删除文件。这个文件不能留在服务器上,它会暴露 PHP 版本、配置路径等敏感信息。
数据库连接与字符集
数据库类站点打不开,先看报错信息。连接数据库失败通常有三种原因:数据库名或用户名写错、密码不对、数据库服务未启动。
宝塔创建数据库时自动生成随机密码,复制后粘贴到程序安装向导即可。手动输入时注意不要多出空格。MySQL 默认监听 127.0.0.1,程序里数据库主机填 localhost 或 127.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 = On 和 error_log 路径。
日志会持续增长,需要定期清理。宝塔有日志切割功能,按天生成文件并保留指定天数。磁盘空间不足时,先看日志目录和备份目录占用,不要盲目删文件。
备份策略要提前定好。宝塔的“计划任务”可以定时备份网站文件和数据库,备份到本地磁盘或远程存储。恢复边界要清楚:数据库备份恢复会覆盖现有数据,恢复前确认备份时间点,避免把旧数据覆盖新数据。备份频率和保留份数根据内容更新量决定,内容更新频繁的站点可以缩短备份间隔,长期不更新的静态页面可以拉长间隔。
上线后的检查清单
部署完成后,按顺序过一遍:
- 访问首页和几个内页,确认无 404 和 500
- 手机浏览器打开,确认布局没有错位
- 提交一个表单或发布一条内容,确认数据库写入正常
- 查看错误日志,确认没有新增报错
- 检查磁盘空间
df -h,确认日志和备份没有撑满分区 - 确认后台地址没有暴露在搜索引擎,robots.txt 里可以屏蔽后台路径
遇到异常时先保留现场。记录当前时间、报错信息、最近修改过的配置,再逐项排查。原因不明时不要同时修改多个地方,否则无法判断哪个改动生效或引入了新问题。
部署文档值得花时间写清楚。记录域名、PHP 版本、数据库名、备份路径、证书到期时间,下次维护或迁移服务器时直接照做,不需要重新摸索。
评论
登录后可发表评论。