奋斗
努力

轻量级服务器如何部署两个网站?

云计算

在轻量级服务器上部署两个网站可以通过多种方式实现,具体取决于服务器配置和需求。以下是几种常见的方法及详细步骤:


方法1:基于端口的虚拟主机(适合测试环境)

原理:通过不同端口(如80、8080)区分两个网站。
步骤

  1. 准备网站目录

    mkdir -p /var/www/site1 /var/www/site2
    echo "Site 1" > /var/www/site1/index.html
    echo "Site 2" > /var/www/site2/index.html
  2. 配置Web服务器(以Nginx为例)
    编辑配置文件(如 /etc/nginx/conf.d/site1.confsite2.conf):

    # site1.conf(监听80端口)
    server {
       listen 80;
       server_name _;
       root /var/www/site1;
       index index.html;
    }
    
    # site2.conf(监听8080端口)
    server {
       listen 8080;
       server_name _;
       root /var/www/site2;
       index index.html;
    }
  3. 重启Nginx

    sudo systemctl restart nginx
  4. 访问测试

    • 网站1:http://服务器IP:80
    • 网站2:http://服务器IP:8080

方法2:基于域名的虚拟主机(推荐生产环境)

原理:通过不同域名(如 site1.comsite2.com)指向同一服务器,Web服务器根据域名分发请求。
步骤

  1. 域名解析
    将两个域名解析到服务器的公网IP(DNS A记录)。

  2. 配置Nginx
    创建两个独立的配置文件(如 /etc/nginx/conf.d/site1.confsite2.conf):

    # site1.conf
    server {
       listen 80;
       server_name site1.com www.site1.com;
       root /var/www/site1;
       index index.html;
    }
    
    # site2.conf
    server {
       listen 80;
       server_name site2.com www.site2.com;
       root /var/www/site2;
       index index.html;
    }
  3. 重启Nginx

    sudo systemctl restart nginx
  4. 访问测试

    • 网站1:http://site1.com
    • 网站2:http://site2.com

方法3:使用反向X_X(适合动态应用)

场景:若两个网站是不同的后端服务(如Node.js、Python应用)。
步骤(以Nginx为例):

  1. 启动后端服务
    假设网站1运行在 3000 端口,网站2运行在 4000 端口。

  2. 配置Nginx反向X_X

    # site1.conf
    server {
       listen 80;
       server_name site1.com;
       location / {
           proxy_pass http://localhost:3000;
       }
    }
    
    # site2.conf
    server {
       listen 80;
       server_name site2.com;
       location / {
           proxy_pass http://localhost:4000;
       }
    }
  3. 重启Nginx

    sudo systemctl restart nginx

方法4:使用Docker容器(隔离环境)

优势:每个网站运行在独立的容器中,避免环境冲突。
步骤

  1. 安装Docker

    curl -fsSL https://get.docker.com | sh
  2. 启动两个Nginx容器

    docker run -d -p 80:80 -v /var/www/site1:/usr/share/nginx/html --name site1 nginx
    docker run -d -p 8080:80 -v /var/www/site2:/usr/share/nginx/html --name site2 nginx
  3. 访问测试

    • 网站1:http://服务器IP:80
    • 网站2:http://服务器IP:8080

注意事项

  1. 防火墙:确保开放相关端口(如80、443、8080)。
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
  2. HTTPS支持:使用Let’s Encrypt为域名免费配置SSL证书。
    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d site1.com -d site2.com
  3. 资源限制:轻量级服务器需监控资源使用(CPU、内存),避免超负荷。

总结

  • 测试环境:用端口区分(方法1)或Docker(方法4)。
  • 生产环境:推荐基于域名的虚拟主机(方法2)或反向X_X(方法3)。
  • 高隔离需求:选择Docker或虚拟机。

根据实际需求选择最适合的方案即可!

未经允许不得转载:云服务器 » 轻量级服务器如何部署两个网站?