加油
努力

使用阿里云服务器部署多站点需要做哪些设置?

在阿里云服务器上部署多站点(即一台服务器托管多个网站),需要进行一系列的配置和设置。以下是详细的步骤和注意事项:


一、前期准备

  1. 购买并配置ECS实例

    • 登录阿里云控制台,创建ECS(弹性计算服务)实例。
    • 选择合适的操作系统(推荐 CentOS、Ubuntu 或 Alibaba Cloud Linux)。
    • 配置安全组规则,开放常用端口:
      • HTTP:80
      • HTTPS:443
      • SSH:22(建议修改为非默认端口以提高安全性)
      • 其他如FTP、数据库等按需开放。
  2. 绑定公网IP或使用弹性IP(EIP)

    • 确保服务器有公网IP,以便外部访问。
  3. 域名准备

    • 购买多个域名,或使用子域名。
    • 在阿里云域名控制台中,将每个域名的 DNS 解析指向服务器的公网IP(A记录)。

二、环境搭建

根据你的技术栈选择 Web 服务器软件,常见的有 Nginx 或 Apache。

示例:使用 Nginx 部署多站点

  1. 安装 Nginx

    # CentOS/RHEL
    sudo yum install nginx -y
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
    # Ubuntu/Debian
    sudo apt update
    sudo apt install nginx -y
    sudo systemctl start nginx
    sudo systemctl enable nginx
  2. 安装数据库和运行环境(可选)

    • 如 PHP、MySQL、Node.js、Python 等,根据网站需求安装。

三、配置多站点(虚拟主机)

Nginx 使用 server 块来实现多站点。

  1. 创建网站目录

    sudo mkdir -p /var/www/site1.com/html
    sudo mkdir -p /var/www/site2.com/html
    sudo chown -R $USER:$USER /var/www/site1.com/html
    sudo chown -R $USER:$USER /var/www/site2.com/html
  2. 创建测试页面

    echo "<h1>Welcome to site1.com</h1>" > /var/www/site1.com/html/index.html
    echo "<h1>Welcome to site2.com</h1>" > /var/www/site2.com/html/index.html
  3. 配置 Nginx 虚拟主机

    创建配置文件(以 site1.com 为例):

    sudo vim /etc/nginx/conf.d/site1.com.conf

    内容如下:

    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.com.conf

    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. 测试并重载 Nginx

    sudo nginx -t        # 检查配置是否正确
    sudo systemctl reload nginx

四、SSL 证书配置(HTTPS)

使用 Let’s Encrypt 免费证书:

  1. 安装 Certbot:

    sudo yum install certbot python3-certbot-nginx -y  # CentOS
    sudo apt install certbot python3-certbot-nginx -y  # Ubuntu
  2. 为每个站点申请证书:

    sudo certbot --nginx -d site1.com -d www.site1.com
    sudo certbot --nginx -d site2.com -d www.site2.com

    Certbot 会自动修改 Nginx 配置,启用 HTTPS 并设置自动续期。


五、其他重要设置

  1. 防火墙设置

    • 确保系统防火墙(如 firewalld 或 ufw)放行 80 和 443 端口。
      # CentOS
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --reload
  2. 安全加固

    • 修改 SSH 端口,禁用 root 登录。
    • 使用密钥登录代替密码。
    • 定期更新系统和软件包。
  3. 日志管理

    • 查看各站点日志:/var/log/nginx/site1.com.access.log
    • 设置日志轮转(logrotate)避免磁盘占满。
  4. 备份策略

    • 定期备份网站文件和数据库。
    • 可使用阿里云快照功能备份整个 ECS 系统盘。
  5. 性能优化

    • 启用 Gzip 压缩。
    • 配置缓存(浏览器缓存、反向X_X缓存)。
    • 使用 CDN 提速静态资源(可结合阿里云CDN)。

六、可选:使用宝塔面板简化管理(适合新手)

  1. 安装宝塔面板:
    wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
  2. 登录面板后,可通过图形界面添加站点、配置 SSL、管理数据库等。

总结

步骤 内容
1 购买 ECS 实例并配置安全组
2 域名解析到服务器 IP
3 安装 Web 服务器(Nginx/Apache)
4 配置虚拟主机(多 server 块)
5 部署网站文件到各自目录
6 配置 SSL 证书(HTTPS)
7 安全加固与日常维护

通过以上设置,你可以在一台阿里云服务器上安全、高效地运行多个网站。建议根据实际业务规模考虑负载均衡、分离数据库、使用对象存储(OSS)等进阶方案。

云服务器