云服务器ECS上如何搭建多站点?

服务器

在云服务器(如阿里云ECS)上搭建多个网站(多站点),可以通过以下几种方式实现,具体取决于你的需求和环境配置。以下是常见的方法及步骤:


一、使用 Apache 搭建多站点(基于虚拟主机)

1. 安装 Apache

# CentOS / RHEL
sudo yum install httpd -y

# Ubuntu / Debian
sudo apt update && sudo apt install apache2 -y

2. 配置虚拟主机(Virtual Host)

示例:两个站点分别为 site1.comsite2.com

  • 创建网站根目录:

    sudo mkdir -p /var/www/site1.com/public_html
    sudo mkdir -p /var/www/site2.com/public_html
  • 创建虚拟主机配置文件(CentOS):

    sudo vi /etc/httpd/conf.d/vhosts.conf

添加如下内容:

<VirtualHost *:80>
    ServerName site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/site1.com/public_html
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.com
    ServerAlias www.site2.com
    DocumentRoot /var/www/site2.com/public_html
</VirtualHost>
  • Ubuntu 用户编辑:

    sudo vi /etc/apache2/sites-available/000-default.conf

    或创建单独的 .conf 文件并启用。

  • 启用站点(Ubuntu):

    sudo a2ensite site1.conf
    sudo a2ensite site2.conf
    sudo systemctl restart apache2

3. 测试访问

确保域名已解析到服务器IP地址,浏览器访问 http://site1.comhttp://site2.com 应该显示不同内容。


二、使用 Nginx 搭建多站点(基于 server 块)

1. 安装 Nginx

# CentOS
sudo yum install nginx -y

# Ubuntu
sudo apt install nginx -y

2. 创建网站目录

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

3. 配置 server 块

  • 创建配置文件(CentOS):
    sudo vi /etc/nginx/conf.d/site1.conf

添加:

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

    location / {
        root /var/www/site1.com/html;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

同样创建 /etc/nginx/conf.d/site2.conf

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

    location / {
        root /var/www/site2.com/html;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

4. 重启 Nginx

sudo systemctl restart nginx

三、使用端口区分多站点

如果你只有一个公网 IP,也可以通过不同的端口来部署多个站点:

示例:

  • 站点A:http://your-ip:80
  • 站点B:http://your-ip:8080

你需要配置防火墙开放对应端口,并分别运行两个 Web 服务监听不同端口。


四、使用反向X_X + 多个后端服务(高级)

例如,你可以使用 Nginx 或 Apache 作为反向X_X,将请求转发给运行在不同端口或路径上的应用(如 Node.js、Tomcat、Python Flask/Django 等)。


五、注意事项

  1. 域名绑定:每个站点需绑定对应的域名,或者通过 IP + 端口访问。
  2. 防火墙设置:确保安全组中开放了 HTTP (80)、HTTPS (443) 等所需端口。
  3. SSL 支持:如果需要 HTTPS,可以为每个站点申请 SSL 证书。
  4. 资源限制:根据 ECS 实例性能合理分配资源,避免负载过高。

六、总结

方法 适用场景
Apache 虚拟主机 简单静态网站或 PHP 网站
Nginx server 块 高并发、动态网站、前后端分离项目
多端口部署 临时测试、开发环境
反向X_X 微服务架构、多个后端服务

如你有具体的环境(比如是否是 LNMP、LAMP、Docker 等),可以告诉我,我可以提供更详细的指导。

未经允许不得转载:CDNK博客 » 云服务器ECS上如何搭建多站点?