宝塔面板怎么一键切换 Web 服务
学完这篇,你能在宝塔面板里把 Nginx 和 Apache(或 OpenLiteSpeed、Tengine)互相切换,并知道切换后哪些东西要重新配一遍,不至于换完站点打不开。
第一步:先确认现在用的是哪个 Web 服务
这一步是搞清楚现状,避免切换后对不上号。登录宝塔面板,看左侧菜单点「网站」→ 选中任意一个站点 → 点右侧「设置」→ 弹窗里看是否有「配置文件」这一项,点进去看内容:出现 server { ... }、location / 这类写法就是 Nginx;出现 <VirtualHost>、AllowOverride 这类写法就是 Apache。
也可以直接在服务器终端敲:
curl -I 你的域名
看返回头里的 Server: 字段,写着 nginx 还是 Apache 一目了然。
注意:宝塔同一时间只允许一个 Web 服务器占用 80 / 443 端口,Nginx 和 Apache 不能同时对外提供服务,所以切换一定是「旧的停掉、新的接手」。
第二步:切换前先做备份
这一步是给操作留退路,做完你能随时回滚。宝塔左侧菜单「网站」→「备份」标签页,对每个站点点一次「备份」。如果你用的是云服务器,顺手在云厂商控制台做一次快照更保险。
注意:切换过程会重启 Web 服务,80 端口会中断十几秒到一分钟,流量大的站点建议放在低峰期做。
第三步:安装目标 Web 服务器并确认切换
这一步是核心动作。宝塔 Linux 面板 9.x 的操作路径是:左侧菜单「软件商店」→ 顶部切到「运行环境」标签页 → 找到你要换成的那个,比如「Apache 2.4」→ 点右侧「安装」→ 弹窗里选「极速安装」(想稳一点选「编译安装」,耗时更长)。
安装过程中或安装完成后,面板会弹出一个确认框,提示检测到已在运行 Nginx,询问是否切换 Web 服务器,点「确定」/「切换」。面板会自动停掉原来的 Nginx、启动 Apache,并把站点绑定关系迁过去。
如果没看到这个弹窗(部分版本或已装过两个的情况下不会弹),就到「软件商店」→「已安装」标签页,找到原来那个 Web 服务器(比如 Nginx 1.24),点「卸载」,卸载时留意弹窗里是否勾选了「同时删除配置文件」——这一项不要勾,否则站点配置会被一起清掉。卸载完再到「已安装」里重启一下 Apache。
Windows 版宝塔面板路径类似:「软件商店」→「已安装」→ 找到 Web 服务器项切换即可。
第四步:验证是否切换成功
这一步确认服务真的换过来了。刷新一下「网站」页面,随便点开一个站点的「设置」→「配置文件」,如果原来是 server {} 现在变成了 <VirtualHost>,说明切换生效。
再跑一次:
curl -I 你的域名
Server: 字段应该已经变成 Apache 或对应产品名。
第五步:补上伪静态和重写规则
这一步最容易被忽略,也是切换后 404、502 的高发原因。Nginx 的 rewrite 规则和 Apache 的 .htaccess 规则不通用,宝塔虽然会尽量帮你转,但不保证全对。
操作入口:「网站」→ 站点 →「设置」→「伪静态」。切换到 Apache 后,这里要选 Apache 对应的规则模板(下拉框里会标明),WordPress、ThinkPHP、Discuz 这类常见程序宝塔都有现成模板,选中保存即可。如果用的是自定义规则,需要按 Apache 的 RewriteRule 语法重写一遍。
注意:PHP 版本一般会自动沿用,但如果你之前给站点单独指定过 PHP 版本,切换后到「网站」→ 站点 →「设置」→「PHP 版本」里再确认一次,别让它退回默认版本。
小结
- 面板左侧「网站」→ 站点「设置」→「配置文件」可判断当前 Web 服务类型,
server {}是 Nginx,<VirtualHost>是 Apache。 - 切换入口在「软件商店」→「运行环境」安装目标服务,面板会提示切换;没提示就先卸载旧服务,卸载时不要勾选删除配置文件。
- 切换前必须备份站点和做快照,切换会让服务中断几十秒。
- 切换后重点检查「伪静态」规则,Nginx 和 Apache 语法不通用,这是最容易出问题的地方。
- 切完用
curl -I 域名看Server:字段验证结果。
原文链接:https://www.gj0.com/thread-723.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。