在阿里云ECS服务器上安装和运行两个网站是完全可行的。以下是详细的步骤和建议,帮助你在一台ECS服务器上部署两个网站:
✅ 一、前提条件
- ECS服务器已创建(如:Ubuntu/CentOS)
- 已经配置好安全组规则(开放80、443端口)
- 域名已备案并解析到ECS公网IP
✅ 二、选择Web服务器软件
常用方案:
- Nginx(推荐):轻量、高性能,支持虚拟主机(server blocks)
- Apache:使用虚拟主机(VirtualHost)
我们以 Nginx + PHP + MySQL(LNMP) 为例说明。
✅ 三、部署两个网站的步骤
1. 安装Nginx
# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y
# CentOS/RHEL
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 准备两个网站目录
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
# 创建测试页面
echo "<h1>这是网站1:site1.com</h1>" | sudo tee /var/www/site1.com/html/index.html
echo "<h1>这是网站2:site2.com</h2>" | sudo tee /var/www/site2.com/html/index.html
# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
3. 配置Nginx虚拟主机(Server Blocks)
创建 site1 的配置文件
sudo nano /etc/nginx/sites-available/site1.com
内容如下:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
创建 site2 的配置文件
sudo nano /etc/nginx/sites-available/site2.com
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
4. 启用站点(创建软链接)
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
⚠️ 注意:如果使用默认
default站点,请先删除/etc/nginx/sites-enabled/default
5. 测试Nginx配置并重启
sudo nginx -t
sudo systemctl reload nginx
✅ 四、域名解析与访问
- 将
site1.com和site2.com的 A 记录指向你的 ECS 公网 IP。 - 在浏览器中分别访问:
- http://site1.com
- http://site2.com
应看到各自不同的页面内容。
✅ 五、可选:支持PHP网站
如果你的网站是 PHP 类型(如 WordPress、Typecho),需要安装 PHP-FPM:
# Ubuntu 示例
sudo apt install php-fpm php-mysql -y
然后在每个 Nginx 配置中添加 PHP 支持:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据版本调整
}
✅ 六、HTTPS(推荐)
使用 Let’s Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
✅ 七、其他方式(可选)
| 方式 | 说明 |
|---|---|
| 不同端口 | 如:site1:80, site2:8080(需用户访问时加端口) |
| 反向X_X | 用NginxX_X多个后端应用(如Node.js、Tomcat) |
| Docker部署 | 每个网站独立容器,更隔离 |
✅ 总结
✅ 一台ECS可以轻松运行多个网站,关键是:
- 使用 Nginx/Apache 虚拟主机
- 正确配置域名解析
- 合理管理文件目录和权限
如有具体需求(如:两个WordPress、一个静态站+一个Java站),欢迎补充,我可以提供更详细的配置方案。
云服务器