一个云服务器搭建两个网站的完整指南
结论先行:在单个云服务器上搭建两个网站是完全可行的,主要通过配置虚拟主机(Virtual Host)实现。核心步骤包括:域名解析设置、Web服务器配置(如Nginx/Apache)、网站文件部署。以下是详细操作流程。
一、准备工作
-
云服务器基础要求
- 已购买云服务器(如阿里云、腾讯云等),建议配置≥1核2G。
- 服务器已安装操作系统(推荐Linux,如Ubuntu/CentOS)。
-
域名与解析
- 注册两个域名(如
site1.com
和site2.com
)。 - 在DNS解析服务商处,将两个域名解析到同一服务器IP地址。
- 注册两个域名(如
-
环境部署
- 安装Web服务器(Nginx或Apache)和PHP/数据库(如MySQL)。
# Ubuntu示例(Nginx + PHP + MySQL) sudo apt update sudo apt install nginx mysql-server php-fpm php-mysql
- 安装Web服务器(Nginx或Apache)和PHP/数据库(如MySQL)。
二、Nginx配置(推荐方案)
核心原理:通过Nginx的server
块区分不同域名的请求,指向不同网站目录。
-
创建网站目录
sudo mkdir -p /var/www/site1/public_html sudo mkdir -p /var/www/site2/public_html
-
配置虚拟主机文件
- 为每个站点创建独立的配置文件(路径:
/etc/nginx/sites-available/
):site1.com.conf
内容:server { listen 80; server_name site1.com www.site1.com; root /var/www/site1/public_html; index index.html index.php; }
site2.com.conf
同理,修改server_name
和root
路径。
- 为每个站点创建独立的配置文件(路径:
-
启用配置并重启Nginx
sudo ln -s /etc/nginx/sites-available/site1.com.conf /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/site2.com.conf /etc/nginx/sites-enabled/ sudo systemctl restart nginx
三、Apache配置(备选方案)
-
启用虚拟主机模块
sudo a2enmod rewrite sudo systemctl restart apache2
-
配置虚拟主机
-
编辑
/etc/apache2/sites-available/000-default.conf
,添加:<VirtualHost *:80> ServerName site1.com DocumentRoot /var/www/site1/public_html </VirtualHost> <VirtualHost *:80> ServerName site2.com DocumentRoot /var/www/site2/public_html </VirtualHost>
-
-
重启Apache生效
sudo systemctl restart apache2
四、验证与常见问题
-
测试方法
- 在浏览器分别访问两个域名,检查是否显示对应网站内容。
- 若本地测试,可修改
hosts
文件临时绑定域名到服务器IP。
-
常见问题
- 403错误:检查网站目录权限(
chmod 755 /var/www
)。 - 域名未生效:DNS解析可能需要等待(最长48小时),或检查Nginx/Apache日志(
/var/log/nginx/error.log
)。
- 403错误:检查网站目录权限(
五、进阶优化(可选)
-
HTTPS加密
- 使用Let’s Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d site1.com -d site2.com
- 使用Let’s Encrypt免费证书:
-
资源隔离
- 通过Docker容器隔离两个网站环境,提升安全性。
总结:在单台云服务器部署多网站的关键是虚拟主机配置和域名解析。Nginx/Apache均可实现,推荐Nginx因其轻量高效。完成后,可通过HTTPS和容器化进一步优化。