一台服务器可以像一座公寓大楼一样,为多个网站提供独立的"居住空间"。本文将详细介绍如何通过虚拟主机技术,让多个网站在同一台服务器上和谐共存。
第一章:为什么选择单服务器多网站方案?
将多个网站部署在同一台服务器上,就像在一栋大楼里开设多家店铺,具有以下优势:
- 成本效益:节省服务器租赁费用
- 管理便捷:统一维护,集中更新
- 资源优化:灵活分配计算资源
- 适用广泛:适合个人博客、企业官网、测试环境等多种场景
第二章:基础准备工作
1.服务器选择
推荐使用云服务器(如阿里云、腾讯云),配置建议:
- 2核CPU
- 4GB内存
- 50GB存储空间
2.域名准备
每个网站需要独立的域名或子域名,例如:
- main.example.com
- blog.example.com
3.安装Web服务器
以Nginx为例的安装命令:
Bash
sudo apt update
sudo apt install nginx
第三章:虚拟主机配置详解
Nginx配置示例
创建配置文件:
Bash
sudo nano /etc/nginx/sites-available/blog.example.com
写入内容:
Bash
server {
listen 80;
server_name blog.example.com;
root /var/www/blog;
index index.html;
}
启用配置:
Bash
sudo ln -s /etc/nginx/sites-available/blog.example.com /etc/nginx/sites-enabled/
sudo systemctl restart nginx
第四章:数据库隔离方案
为每个网站创建独立数据库:
Bash
CREATE DATABASE blog_db;
CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON blog_db.* TO 'blog_user'@'localhost';
FLUSH PRIVILEGES;
第五章:文件结构与权限管理
推荐目录结构:
Bash
/var/www/
├── site1/
└── site2/
设置权限:
Bash
sudo chown -R www-data:www-data /var/www/site1
sudo chmod -R 755 /var/www/site1
第六章:安全与性能优化
1.SSL证书:
Bash
sudo certbot --nginx -d example.com
2.性能优化:
- 启用Gzip压缩
- 配置浏览器缓存
- 实现动静分离
3.安全防护:
- 配置防火墙
- 安装Fail2Ban
- 定期更新系统