一个服务器能放几个网站?
很多人手上有多个网站项目:企业官网、个人博客、测试站、客户演示站。每个站都买一台服务器,一年光服务器费用就上万。其实2核4G的云服务器完全可以同时跑3-5个中小网站,成本能省70%。本文教你如何合理规划,避免资源冲突和性能瓶颈。
一台服务器能放几个站?看配置和流量
单服务器多站点的核心限制是CPU、内存和带宽。以下是不同配置的承载能力:
| 服务器配置 | 可放网站数 | 单站流量上限 | 总并发上限 | 典型场景 |
|---|---|---|---|---|
| 1核2G | 1-2个 | 日均1000 PV | 并发10 | 个人博客+落地页 |
| 2核4G | 3-5个 | 日均3000 PV | 并发50 | 企业官网+博客+测试站 |
| 4核8G | 5-10个 | 日均1万 PV | 并发200 | 多客户网站托管 |
| 8核16G | 10-20个 | 日均3万 PV | 并发500 | 小型建站服务商 |
我的2核4G服务器上跑着5个WordPress站:企业官网(日均2000访问)、个人博客(日均800)、产品演示站(日均500)、测试站2个(偶尔访问)。CPU平均使用率30%,内存占用65%,完全够用。
部署方案:宝塔面板一键搞定
推荐使用宝塔面板管理多站点,图形化界面,3分钟添加一个新站。
安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh
sudo bash install.sh
安装完成后会显示面板地址、用户名和密码,浏览器访问登录。
添加新站点
- 网站菜单,点击添加站点
- 域名:填写你的域名如www.site1.com
- 根目录:自动生成/www/wwwroot/www.site1.com
- 数据库:勾选创建数据库,自动生成MySQL数据库
- PHP版本:选择7.4或8.0(根据程序要求)
提交后宝塔会自动配置Nginx虚拟主机、PHP-FPM和MySQL,直接上传网站文件即可访问。
- /www/wwwroot/site1.com 企业官网
- /www/wwwroot/blog.site1.com 个人博客
- /www/wwwroot/demo.site2.com 演示站
- /www/wwwroot/test.local 测试站(本地hosts)
资源分配:避免单站吃光内存
多站点共享资源,需要限制单个站点的PHP进程和数据库连接,避免一个站拖垮整台服务器。
PHP-FPM进程池隔离
宝塔面板默认所有站点共用一个PHP-FPM进程池。建议给流量大的站点单独分配进程池:
- 软件商店,找到PHP管理,点击设置
- 进入FPM配置文件,复制一份配置段
- 修改监听端口(如9001)和进程数(pm.max_children = 10)
- 在网站设置中,将该站点的PHP版本指向新端口
数据库连接限制
MySQL默认最大连接数151,多站点共享容易耗尽。建议:
- 主站:最大连接50
- 博客:最大连接30
- 测试站:最大连接10
在程序数据库配置文件中设置连接池上限。
2核4G服务器,系统和服务占用1.5G,剩余2.5G分配给PHP和MySQL。单个WordPress站点峰值占用约400MB,最多放5个站。如果超过5个,建议升级到4核8G。
4种典型多站点场景
- 服务器配置: 2核4G ECS
- 站点1: 生产站(绑定www.domain.com)
- 站点2: 测试站(绑定test.domain.com,用.htaccess加密码保护)
- 站点3: 客户演示站(绑定demo.domain.com)
- 隔离: 测试站独立数据库,避免误操作影响生产
- 服务器配置: 2核4G
- 站点1: 个人博客(WordPress)
- 站点2: 开源项目文档(VuePress静态站)
- 站点3: API服务(Node.js,监听3000端口,Nginx反向代理)
- 站点4: 在线工具(纯前端HTML)
- 成本: 一台服务器搞定,年费600元
常见问题
多个站点用同一个数据库可以吗?
技术上可以,通过表前缀区分(如site1_posts、site2_posts)。但不推荐,原因:单个站点数据库故障会影响所有站、备份恢复麻烦、权限管理复杂。建议每个站点独立数据库,MySQL支持创建多个数据库,资源消耗可以忽略。
带宽够用吗?3M带宽能撑几个站?
3M带宽理论下载速度约375KB/s,假设单个页面300KB(含图片),一次加载需要1秒。如果3个站点同时有10人访问(极端情况),会卡顿。解决方案:
一般3-5个企业官网(非视频站),3M带宽+CDN完全够用。
SSL证书怎么办?每个站都要买吗?
不需要。推荐方案:
- Let us Encrypt免费证书:宝塔面板一键申请,每个域名独立证书,自动续期
- 泛域名证书:如果子域名多(如blog.domain.com、demo.domain.com),买一个泛域名证书(*.domain.com),约200元/年,覆盖所有子域名
宝塔面板支持批量部署SSL,5个站点10分钟搞定。
一个站出问题会影响其他站吗?
看问题类型:
- 代码报错:不影响,Nginx虚拟主机隔离,单个站点挂了不影响其他
- PHP进程耗尽:会影响,所有站点共享PHP-FPM进程池。解决:给主站单独分配进程池
- 数据库锁表:如果共用数据库会影响,独立数据库不影响
- 磁盘写满:全部挂掉。建议开启日志自动清理,定期清理缓存
总结:独立数据库+主站独立进程池,基本不会相互影响。
总结
一台2核4G服务器放3-5个中小网站完全没问题,关键是合理分配资源和做好隔离。推荐方案:用宝塔面板管理多站点,每个站独立数据库,主站单独PHP进程池,图片放OSS,静态资源接CDN。这样配置下来,成本能省70%,性能还不受影响。如果站点超过5个或单站流量过万,建议升级到4核8G或拆分服务器。记住:多站点共存的前提是流量可控,别把高并发站和低流量站混在一起。