加油
努力

如何在阿里云ECS上配置多个网站服务?

在阿里云ECS(Elastic Compute Service)上配置多个网站服务,可以通过以下步骤实现。假设你使用的是 Linux 系统(如 CentOS 或 Ubuntu),并希望部署多个基于 Nginx 或 Apache 的网站。


一、准备工作

  1. 购买并配置ECS实例

    • 登录阿里云控制台,创建一台 ECS 实例(推荐选择 Ubuntu/CentOS 系统)。
    • 配置安全组规则,开放常用端口:
      • HTTP:80
      • HTTPS:443
      • SSH:22(用于远程连接)
  2. 连接到ECS

    ssh root@<你的ECS公网IP>

二、安装Web服务器(以Nginx为例)

# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y

# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

检查是否运行:

systemctl status nginx

访问 http://<ECS公网IP>,看到欢迎页表示成功。


三、配置多个网站(基于域名或端口)

方式一:基于不同域名(推荐)

假设你要托管两个网站:

  • site1.com → /var/www/site1
  • site2.com → /var/www/site2
1. 创建网站目录和测试页面
sudo mkdir -p /var/www/site1 /var/www/site2

echo "<h1>Welcome to Site1</h1>" | sudo tee /var/www/site1/index.html
echo "<h1>Welcome to Site2</h1>" | sudo tee /var/www/site2/index.html
2. 设置权限
sudo chown -R www-data:www-data /var/www/site1
sudo chown -R www-data:www-data /var/www/site2
sudo chmod -R 755 /var/www

注意:CentOS 使用 nginx 用户,命令为 chown -R nginx:nginx /var/www/siteX

3. 创建Nginx虚拟主机配置

site1.com 配置文件:

sudo nano /etc/nginx/sites-available/site1.com

内容:

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

site2.com 配置文件:

sudo nano /etc/nginx/sites-available/site2.com

内容:

server {
    listen 80;
    server_name site2.com www.site2.com;

    root /var/www/site2;
    index index.html;

    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/

注意:Ubuntu 默认有 sites-enabled 目录;CentOS 可能需要手动创建或直接在 /etc/nginx/conf.d/ 下放 .conf 文件。

5. 测试配置并重启Nginx
sudo nginx -t
sudo systemctl reload nginx
6. 域名解析(在阿里云DNS或第三方DNS平台)
  • 登录阿里云 云解析DNS
  • 添加 A 记录:
    • site1.com → 指向 ECS 公网 IP
    • site2.com → 指向 ECS 公网 IP

等待生效后,访问即可看到不同网站。


方式二:基于不同端口(适合测试)

如果你想通过不同端口访问多个网站:

# /etc/nginx/sites-available/site1-port
server {
    listen 8080;
    server_name localhost;

    root /var/www/site1;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

server {
    listen 8081;
    server_name localhost;

    root /var/www/site2;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

然后确保安全组开放 8080 和 8081 端口。

访问:

  • http://<IP>:8080 → site1
  • http://<IP>:8081 → site2

四、(可选)配置HTTPS(SSL证书)

使用 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

Certbot 会自动修改 Nginx 配置启用 HTTPS。


五、其他注意事项

  1. 防火墙设置

    # Ubuntu (ufw)
    sudo ufw allow 'Nginx Full'
    
    # CentOS (firewalld)
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
  2. 备份配置
    定期备份 /etc/nginx/ 下的配置文件。

  3. 日志查看

    • 错误日志:/var/log/nginx/error.log
    • 访问日志:/var/log/nginx/access.log

总结

在阿里云ECS上配置多个网站的关键是:

✅ 安装 Web 服务器(Nginx/Apache)
✅ 创建多个站点目录
✅ 配置虚拟主机(基于域名或端口)
✅ 正确设置 DNS 解析
✅ 开放安全组端口
✅ (可选)启用 HTTPS 加密

这样你就可以在同一台ECS上托管多个独立网站了。

如有更多需求(如 PHP、数据库、反向X_X等),可进一步扩展配置。

云服务器