宝塔面板无站点配置单独导出/导入功能,需手动备份Nginx/Apache配置、.user.ini、php.ini及sites.db,并确保运行用户UID/GID一致、路径校准、权限重设,再通过宝塔界面重载配置、PHP和SSL证书。

宝塔面板本身不提供「站点配置单独导出/导入」功能,所谓“导出配置”实际是手动打包关键文件 + 重建站点 + 迁移数据的组合操作,直接点说:没有一键导出 site.conf 的按钮,得自己收、自己放、自己调。
哪些文件必须备份才能还原站点配置
站点配置本质是 Nginx/Apache 的虚拟主机配置 + PHP 设置 + 宝塔数据库记录三者联动。只导出 /www/server/panel/vhost/ 下的 .conf 文件不够,漏掉以下任意一项都会导致 502、404 或 PHP 不生效:
-
/www/server/panel/vhost/nginx/xxx.com.conf(Nginx 配置)或/www/server/panel/vhost/apache/xxx.com.conf(Apache 配置) -
/www/wwwroot/xxx.com/.user.ini(PHP 用户级配置,如open_basedir、upload_max_filesize) -
/www/server/php/{版本}/etc/php.ini(全局 PHP 配置,迁移后若 PHP 版本不同需手动对齐) -
/www/server/panel/data/sites.db(宝塔内部站点元数据,含域名、根目录、SSL 状态等,不能直接复用但可参考)
导出时如何避免路径和权限错乱
直接打包 /www/wwwroot/xxx.com 和配置文件后,在新服务器解压容易因路径硬编码或用户权限不一致导致 403 或 PHP 文件被下载。实操要点:
- 导出前先确认源站使用的运行用户:
ps aux | grep nginx或ps aux | grep apache,常见为www;新服务器必须确保该用户存在且 UID/GID 一致(用id www核对) - 打包时用
tar -zcf site-xxx.tar.gz -C /www/wwwroot xxx.com,避免绝对路径嵌套过深 - 配置文件中所有
root、fastcgi_pass、ssl_certificate路径,迁移到新环境后必须逐行检查是否仍有效——比如 SSL 证书路径在新服务器通常是/www/server/panel/vhost/cert/xxx.com/,不是原路径 - 导入后立即执行:
chown -R www:www /www/wwwroot/xxx.com和chmod -R 644 /www/wwwroot/xxx.com/*.php(可执行脚本除外)
导入后必须手动触发的三件事
宝塔不会自动识别你放进去的配置文件,也不会帮你重载 PHP 设置。以下操作缺一不可:
立即学习“PHP免费学习笔记(深入)”;
- 把
xxx.com.conf放进/www/server/panel/vhost/nginx/后,必须在宝塔「网站」页面点击右上角「重载配置」,否则 Nginx 不加载新规则 - 如果用了自定义
.user.ini,需在宝塔网站设置 → 「PHP 设置」→ 「禁用函数」下方点「重载 PHP」,否则open_basedir等不生效 - SSL 证书不能只复制文件,必须进宝塔网站 → 「SSL」→ 「其他证书」里粘贴证书+密钥,再启用,否则浏览器提示不安全且 HSTS 可能拦截
最常被忽略的是 .user.ini 文件的生效机制——它依赖 PHP 的 enable_dl 和 user_ini.filename 配置,而宝塔默认开启,但某些精简版系统会关闭;迁移后若 PHP 报错“open_basedir restriction”,第一反应不该是改路径,而是先查 phpinfo() 里 User INI file 是否显示为 .user.ini。











