使用阿里云轻量服务器如何配置两个不同的网站?

在阿里云轻量应用服务器(Simple Application Server)上部署两个不同的网站,核心思路是利用 Web 服务器(如 Nginx 或 Apache)的虚拟主机(Virtual Host)功能,通过域名绑定或端口区分来实现多站点隔离。

由于轻量服务器通常预装了镜像环境(如 LAMP、LNMP),以下以最常见的 Nginx + Linux (CentOS/Debian) 环境为例,提供两种主流配置方案。你可以根据实际需求选择。


方案一:基于域名的虚拟主机(推荐,最常用)

这是最标准的做法。假设你有两个域名 site1.com 和 site2.com,都指向同一台服务器的 IP。Nginx 会根据请求中的 Host 头字段,将流量分发到不同的网站目录。

步骤 1:准备网站文件

假设你的网站根目录结构如下:

/www/sites/
├── site1/          # site1.com 的文件
│   └── index.html
└── site2/          # site2.com 的文件
    └── index.html

步骤 2:创建 Nginx 配置文件

登录服务器后,进入 Nginx 配置目录(通常在 /etc/nginx/conf.d/ 或 /usr/local/nginx/conf/vhost/,具体取决于安装方式)。

为第一个网站创建配置文件 site1.conf:

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

    root /www/sites/site1;
    index index.html index.htm;

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

为第二个网站创建配置文件 site2.conf:

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

    root /www/sites/site2;
    index index.html index.htm;

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

注意:确保每个 server 块中的 server_name 是唯一的,且与 DNS 解析记录一致。

步骤 3:测试并重载 Nginx

# 测试配置文件语法是否正确
nginx -t

# 如果显示 "syntax is ok" 和 "test is successful",则重载服务
systemctl reload nginx
# 或者如果是手动安装的:
/usr/local/nginx/sbin/nginx -s reload

步骤 4:DNS 解析

在阿里云云解析 DNS 或其他域名服务商处,将 site1.com 和 site2.com 的 A 记录都指向你的轻量服务器公网 IP。


方案二:基于端口的虚拟主机(适用于无域名或测试场景)

如果你没有两个域名,或者想通过不同端口访问不同网站,可以监听不同端口。

修改 Nginx 配置

在同一个 server 块或多个 server 块中指定不同端口:

# 网站1:默认端口 80
server {
    listen 80;
    server_name _; # 匹配所有未指定的域名
    root /www/sites/site1;
    index index.html;
}

# 网站2:自定义端口 8080
server {
    listen 8080;
    server_name _;
    root /www/sites/site2;
    index index.html;
}

关键操作:开放防火墙端口

轻量服务器默认只开放了 80、443 等常见端口。你需要在阿里云控制台中执行以下操作:

  1. 登录阿里云控制台,找到你的轻量应用服务器实例。
  2. 点击 “防火墙” 标签页。
  3. 添加一条新规则:
    • 协议:TCP
    • 端口:8080
    • 授权对象:0.0.0.0/0(允许所有 IP)
    • 策略:允许
  4. 同时,确保操作系统内部的防火墙(如 firewalld 或 iptables)也放行了 8080 端口。

访问时,用户需使用 http://你的IP:8080 来访问第二个网站。


方案三:使用宝塔面板(BT Panel)—— 最适合新手

如果你不熟悉命令行,强烈建议使用 宝塔面板。它提供了图形化界面,极大简化了多网站配置。

操作步骤:

  1. 安装宝塔面板:
    在轻量服务器终端运行一键安装脚本(以 CentOS 为例):

    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

    (其他系统请参考宝塔官网文档)

  2. 登录面板:
    安装完成后,获取内网地址和网络地址,用浏览器登录。

  3. 添加网站:

    • 点击左侧菜单 “网站” -> “添加站点”。
    • 填写域名(如 site1.com),根目录可自动创建。
    • 再次点击 “添加站点”,添加第二个域名 site2.com。
  4. 上传文件:
    使用面板内的“文件”管理功能,将对应网站的文件上传至各自的根目录。

  5. SSL 证书:
    宝塔面板内置 Let’s Encrypt 免费证书申请功能,一键即可为多个域名配置 HTTPS。


常见问题与注意事项

  1. 权限问题:
    确保 Nginx 进程有权限读取网站目录。通常需要将目录所有者设置为 www 用户(宝塔默认)或 nginx 用户(手动安装默认):

    chown -R www:www /www/sites/site1
  2. HTTPS 支持:
    如果希望两个网站都支持 HTTPS,需要在 Nginx 配置中添加 listen 443 ssl; 并指定证书路径。对于方案一,每个 server 块需要独立的 SSL 证书;对于方案二,如果使用 SNI(Server Name Indication),也可以在同一 IP 上部署多个 HTTPS 站点。

  3. 资源限制:
    轻量服务器内存有限(如 2GB 或 4GB),同时运行两个网站时,注意监控 CPU 和内存使用情况。避免同时开启过多后台服务。

  4. 备案要求:
    在中国大陆地区,使用阿里云服务器并提供公网访问的网站必须进行 ICP 备案。未备案域名无法解析到国内服务器,或会被阻断访问。请确保你的域名已完成备案。

  5. 安全组/防火墙:
    务必在阿里云控制台的“防火墙”设置中放行所需端口(80, 443, 以及自定义端口如 8080),否则外部无法访问。


总结

  • 有域名、追求规范 → 使用 方案一(Nginx 虚拟主机),灵活高效。
  • 无域名、快速测试 → 使用 方案二(端口区分),但需注意防火墙配置。
  • 不熟悉 Linux 命令 → 使用 方案三(宝塔面板),可视化操作,省心省力。

根据你的技术背景和实际需求选择合适的方案即可。如有具体报错信息,可提供详细日志进一步排查。

未经允许不得转载:CLOUD云枢 » 使用阿里云轻量服务器如何配置两个不同的网站?