宝塔多站点管理 一台服务器跑多个网站的规划

KLWIN 运维组 2026-08-07 约 4 分钟读完 约 1,470 字 251 次阅读
宝塔多站点管理 一台服务器跑多个网站的规划
宝塔多站点管理 一台服务器跑多个网站的规划

一台 4 核 8G 的服务器,跑十个企业站完全没问题。但前提是配置得当,否则会出现"一个站被攻击,全部遭殃"或者"一个站跑满 CPU,其他站打不开"。

一、目录怎么规划

宝塔默认把站点放在 /www/wwwroot/域名/。这个结构可以用,但建议做两件事:

  • 目录名用域名,别用"web1""site2",后期根本分不清。
  • 日志统一放 /www/wwwlogs/,便于集中清理。

如果站点很多(超过二十个),可以按客户或项目分二级目录,但宝塔的站点管理是按目录绑定的,分太深反而麻烦。

二、PHP 版本怎么分配

宝塔支持多版本共存。建议按程序需求分配,而不是全部用最新版:

程序类型推荐版本
老 CMS(五年前)PHP 7.4
主流 CMS / WordPressPHP 8.1 / 8.2
自研项目按框架要求

版本越多,占用的内存越多。三个版本是上限,超过就要考虑拆服务器。

三、五个必做的隔离

1. 防跨站(open_basedir)

宝塔站点设置里有"防跨站攻击"开关,必须打开。它限制每个站只能访问自己的目录,是防"一站被黑、全站沦陷"的关键。

2. 独立数据库用户

每个站用独立数据库和独立用户,权限只给本库。绝不用一个 root 账号连所有站。

3. 独立 PHP 进程池

宝塔默认每个站点使用共享的 PHP-FPM 池。站点多了之后,建议给重点站点单独配置进程池,避免被其他站拖死。

4. 上传目录禁执行

在每个站的上传目录加一条 Nginx 规则:

location ~* ^/uploads/.*\.(php|php5|phtml)$ {
    deny all;
}

5. 独立日志与限额

给每个站设置日志大小上限和磁盘配额(如果文件系统支持),防止某个站写满磁盘影响全部。

四、资源怎么分配

一台服务器上,资源是共享的。要避免"一个站吃掉全部":

  • PHP 进程数:按站点重要性分配。核心站多给,展示站少给。
  • MySQL 连接数:总量有限,站点多时要限制单站的最大连接数。
  • 带宽:如果按固定带宽计费,某站被刷会拖慢全部。建议上 CDN 分摊。

五、备份怎么管

多站点的备份最容易失控:十个站每天各备一次,磁盘很快满。

建议策略:

  1. 核心站每天备份,普通站每周备份。
  2. 备份直接传对象存储,不在本地堆积。
  3. 保留份数按重要性设,核心站 14 份,普通站 4 份。
  4. 每月检查一次备份任务是否都成功。

六、什么时候该拆服务器

三个信号:

  • CPU 长期高于 60%,优化后仍降不下来。
  • 内存经常接近满载,PHP 进程频繁被杀。
  • 某个站被攻击,影响了其他站。

拆的原则是按"业务重要性"拆,不是按"站点数量"拆。把核心站单独放一台,其余共享一台。

多站点最怕的两件事

一是磁盘写满:某个站的日志或备份把盘吃光,所有站一起挂。二是 PHP 进程被单个站占满:一个站被刷,其他站全部 502。

解法分别是给每个站设日志上限与备份轮转,以及给重点站点单独配置 PHP 进程池。

多站点的资源隔离

一是磁盘写满:某个站的日志或备份把盘吃光,所有站一起挂。二是 PHP 进程被单个站占满:一个站被刷,其他站全部 502。

解法分别是给每个站设日志上限与备份轮转,以及给重点站点单独配置 PHP 进程池。多站点不是把站丢上去就不管。

每个站单独设日志上限和备份份数,别让一个站把磁盘吃满。重点站单独配 PHP 进程池,避免被其他站拖垮。

每个站单独设日志上限和备份份数,重点站单独配 PHP 进程池。

常见问题

一台服务器能放多少个站

看流量和程序。轻量企业站,4 核 8G 放 20-30 个没问题;有商城的,5-10 个就要考虑拆分。

多站点会不会互相影响 SEO

如果站点内容无关、且互相不做大量交叉链接,一般不影响。但同 IP 下大量低质站点,可能被连带评估。

能不能用子目录放多个站

可以,但不推荐。子目录站的权限隔离更麻烦,URL 也容易混乱。用子域名或独立域名更清晰。

多站点的基础环境配置,见宝塔面板安装教程。

K

KLWIN 运维组

KLWIN康林旺 内容团队,长期处理企业官网建设、CMS 模板开发与搜索优化的实际项目。文章里的数据和方法,来自交付过程中的记录,不引用未经核实的结论。

上一篇采集与伪原创 为什么长期做不起来
下一篇 谷歌内容优化 主题集群怎么搭
RELATED

继续阅读

客服头像
正在连接...
👋
开始聊天前,请告诉我们您的称呼
客服 正在输入