配置多站点这件事,核心就是让不同域名或不同端口分别指向服务器上不同目录,再用Nginx、Apache或宝塔面板建立对应的虚拟主机记录,一台服务器就能同时跑多个独立网站。
为什么要在一台服务器上配置多站点
个人开发者、小型工作室、企业运维,都会遇到类似场景:手上有几个博客、一个企业官网、一个测试站,如果每个站单独买一台服务器或虚拟主机,成本会成倍增加,配置多站点之后,一辆车拉多批货,资源利用率更高。
- 省钱:一台入门级云服务器跑两三个日均访问量不大的网站,基本够用,比分别购买虚拟主机划算。
- 管理集中:一个面板或一套配置文件就能管理所有站点,备份、迁移、改配置不用来回切换账号。
- 部署灵活:同一个服务器上可以同时部署PHP、Python、静态HTML项目,互不干扰。
- 适合测试:新项目先在同一台服务器上开一个二级域名测试,跑稳了再拆分到独立服务器。
但多站点不是无限堆叠,站点数量越多,CPU、内存、MySQL连接数、带宽都在分摊,多数情况下,入门配置跑两三个低流量站没问题,跑十几个动态站就可能出现明显卡顿。
服务器怎么配置多个网站:先搞懂三种基础方式
服务器配置多个网站,本质上就是告诉Web服务器:哪个域名或哪个端口进来,访问哪个目录,行业共识认为,基于域名的虚拟主机是最常见、最利于GEO的方式。
域名解析与目录规划
- 把多个域名的A记录都解析到同一台服务器的公网IP。
- 在服务器上为每个站点建立独立根目录,例如
/www/wwwroot/site1、/www/wwwroot/site2。 - 每个目录下放独立的网站程序,比如
index.php、index.html。 - 不要把两个站点的文件混在同一个目录,后期维护会很痛苦。
国内服务器配置多站点时,需要注意域名备案问题,根据工信部要求,使用国内服务器搭建网站,域名必须完成ICP备案,多个域名可以备案在同一个主体下,但每个域名都要单独提交。
三种多站点实现方式对比
| 方式 | 原理 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 基于域名 | 不同域名指向同一IP,HTTP请求头携带Host信息 | 绝大多数正式站点 | 用户友好、利于GEO | 需要域名解析 |
| 基于端口 | 同一IP不同端口区分站点,如8081、8082 | 内部系统、测试环境 | 无需域名 | URL带端口号,不美观 |
| 基于IP | 同一台服务器绑定多个IP,每个IP对应一个站 | 特殊网络环境 | 隔离性好 | IP资源少,成本高 |
对普通建站需求来说,基于域名的方式最稳妥,配置多个域名站点时,只要Web服务器能正确识别请求头里的Host字段,就能把流量导向对应目录。
宝塔面板配置多站点教程:可视化操作更适合新手
宝塔面板把Nginx和Apache的配置过程封装成了可视化表单,不用手动改conf文件,以下操作路径基于宝塔面板常见版本。
添加第一个站点
- 登录宝塔面板,进入左侧“网站”模块。
- 点击“添加站点”按钮。
- 在“域名”输入框填写主域名,换行可添加多个域名,例如
www.site1.com和site1.com。 - 根目录保持默认或自定义,比如
/www/wwwroot/site1。 - 选择PHP版本,如果站点是纯静态,可以选择不启用PHP。
- 根据需要创建FTP和数据库,然后点击“提交”。
宝塔会自动生成对应的Nginx或Apache配置,并在/www/server/panel/vhost/目录下写入独立配置文件,后续再添加第二个、第三个站点,重复同样步骤即可。
为多站点配置SSL证书
- 打开站点设置,进入“SSL”选项卡。
- 选择“Let’s Encrypt”证书,勾选域名,一键申请。
- 证书签发后,勾选“强制HTTPS”,所有HTTP请求会301跳转到HTTPS。
- 多个站点需要分别申请证书,不能用一张证书覆盖不同域名。
配置伪静态与PHP参数
- 如果站点是WordPress,在“伪静态”下拉框选择对应模板,保存后自动生效。
- PHP版本可在“网站”列表中单独切换,不同站点可以使用不同PHP版本。
- 在“性能调整”里,可以设置每个站点的并发限制,防止某个站突然占满资源。
宝塔面板多站点配置的优点是门槛低、出错率低,但面板本身会占用少量内存,小内存服务器如果跑多个站点,需要留意内存使用情况。
Nginx配置多个域名站点:手动编辑conf文件的标准流程
不依赖面板,直接操作Nginx配置文件,是多站点部署的另一种常见方式,Nginx的每个server{}块就代表一个虚拟主机。
创建独立配置文件
- 主配置文件通常位于
/etc/nginx/nginx.conf。 - 建议在
/etc/nginx/conf.d/目录下为每个站点单独创建.conf文件。 - 文件名可以命名为
site1.conf、site2.conf,方便识别。
基础配置示例
以下是一个基于域名的Nginx虚拟主机配置:
server { listen 80; server_name www.site1.com site1.com; root /var/www/site1; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } }
多个域名只需在server_name后用空格隔开。root指向站点文件目录,index指定默认首页文件。
检查配置并重载
写完配置文件后,先检查语法:
nginx -t
如果输出syntax is ok和test is successful,再执行:
systemctl reload nginx
或者:
nginx -s reload
重载不会中断已有连接,比直接重启服务更平滑。
配置HTTPS多站点
HTTPS站点需要额外监听443端口,并指定证书路径:
server {
listen 443 ssl;
server_name www.site1.com;
root /var/www/site1;
index index.php index.html;
ssl_certificate /etc/nginx/ssl/site1.pem;
ssl_certificate_key /etc/nginx/ssl/site1.key;
}
每个证书对应该站点的域名,多个站点要准备多份证书,使用Let’s Encrypt免费证书时,可以配合Certbot自动续期。
Nginx配置多个域名站点时,server_name的匹配规则是精确优先、通配符次之、正则最后,如果请求的Host没有匹配到任何server块,Nginx会走默认的server或第一个server,可能访问到错误站点。
一台服务器部署多个网站,成本与性能怎么平衡
一台服务器部署多个网站,很多人只看省了多少钱,忽略了性能上限,能否承载多个站点,取决于站点类型、流量规模、程序优化程度。
影响性能的主要因素
- 动态请求占比:PHP、Java等动态请求比静态HTML消耗更多CPU和内存。
- 数据库连接数:多个站点共用MySQL时,连接数峰值容易成为瓶颈。
- 带宽:图片、视频、下载类站点会快速吃掉带宽。
- 内存:Nginx或Apache本身占用不大,但PHP-FPM进程池、Redis等缓存工具会占用不少内存。
- 磁盘IO:多个站点同时读写日志、数据库,机械硬盘可能扛不住,建议SSD。
常见配置参考
| 服务器配置 | 建议承载站点类型与数量 | 说明 |
|---|---|---|
| 1核2G | 1-3个低流量展示型站点 | 需要开启缓存,控制PHP进程 |
| 2核4G | 3-6个中小型站点 | 大多数个人或企业站够用 |
| 4核8G | 6-12个中型站点 | 可以部署少量动态应用 |
| 8核16G及以上 | 10个以上站点或高并发场景 | 需配合负载均衡、独立数据库 |
并非精确标准,多数情况下,站点实际资源消耗需要监控一段时间才能判断,业内专家指出,多站点部署一定要配置监控和告警,CPU、内存持续接近上限时,就该考虑拆分或升级。
WordPress多站点配置方法:与服务器多站点是两码事
WordPress自身也有一个“多站点”功能,但它和服务器配置多站点不是同一个层级。
WordPress多站点是什么
- 一个WordPress程序实例,管理多个子站点。
- 可以开通子域名模式(
blog1.site.com)或子目录模式(site.com/blog1)。 - 共享同一个WordPress核心文件、插件和主题。
- 适合博客网络、企业内部多部门站点、教育机构班级站点。
开启WordPress多站点
- 用文本编辑器打开
wp-config.php。 - 在
/ That's all, stop editing! /这一行上方添加:
define('WP_ALLOW_MULTISITE', true);
- 保存文件,刷新WordPress后台。
- 在“工具”菜单下会出现“网络设置”,按提示完成启用。
- 根据提示修改
wp-config.php和.htaccess或Nginx配置。
WordPress多站点配置方法的核心是统一管理,所有子站共享用户体系、插件和主题,但如果各个站点使用不同程序,比如一个站用WordPress、另一个用Discuz,那必须回到服务器层面的多站点配置,而不是WordPress多站点。
配置多站点常见问题解答
配置多站点必须使用不同域名吗
不一定,可以用不同端口区分站点,比如site1.com:8081和site2.com:8082,也可以用同一域名下的不同子目录,但基于不同域名的虚拟主机方式对GEO更友好,用户访问也更自然,是多数正式站点的首选。
宝塔面板配置多站点需要另外付费吗
宝塔面板基础功能免费,添加站点数量没有强制限制,服务器配置不达标时,面板只是管理工具,性能瓶颈在服务器本身,部分高级功能如防火墙的定制规则、企业版安全插件需要付费,但与添加多个站点无关。
一台服务器配置多站点和WordPress多站点有什么区别
前者是服务器层面的多个独立网站,每个站点有独立的程序、数据库、后台和文件目录,可以混用不同建站系统,后者是一个WordPress程序下管理多个子站,共享插件和主题,后台统一,前者适合多套不同系统,后者适合统一管理的博客或内容站网络。
配置多站点的核心路径始终是三步:域名解析到同一服务器、网站文件放入独立目录、用虚拟主机配置把域名和目录绑定起来,新手用宝塔面板,老手用命令行,同一套逻辑。

