在阿里云ECS(Elastic Compute Service)上配置多个网站服务,可以通过以下步骤实现。假设你使用的是 Linux 系统(如 CentOS 或 Ubuntu),并希望部署多个基于 Nginx 或 Apache 的网站。
一、准备工作
-
购买并配置ECS实例
- 登录阿里云控制台,创建一台 ECS 实例(推荐选择 Ubuntu/CentOS 系统)。
- 配置安全组规则,开放常用端口:
- HTTP:80
- HTTPS:443
- SSH:22(用于远程连接)
-
连接到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 公网 IPsite2.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→ site1http://<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。
五、其他注意事项
-
防火墙设置
# 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 -
备份配置
定期备份/etc/nginx/下的配置文件。 -
日志查看
- 错误日志:
/var/log/nginx/error.log - 访问日志:
/var/log/nginx/access.log
- 错误日志:
总结
在阿里云ECS上配置多个网站的关键是:
✅ 安装 Web 服务器(Nginx/Apache)
✅ 创建多个站点目录
✅ 配置虚拟主机(基于域名或端口)
✅ 正确设置 DNS 解析
✅ 开放安全组端口
✅ (可选)启用 HTTPS 加密
这样你就可以在同一台ECS上托管多个独立网站了。
如有更多需求(如 PHP、数据库、反向X_X等),可进一步扩展配置。
云小栈