一台云服务器如何搭建两个网站?

云计算

一台云服务器如何搭建两个网站?

结论: 通过配置虚拟主机(Virtual Host)或使用反向X_X(如Nginx),可以在一台云服务器上同时运行多个网站。核心步骤包括域名解析、Web服务器配置和资源隔离。


方法一:使用虚拟主机(Apache/Nginx)

适用于需要独立域名且资源隔离的场景,以下是具体步骤:

1. 准备工作

  • 域名解析:将两个域名(如 site1.comsite2.com)的A记录指向服务器的公网IP。
  • 服务器环境:确保已安装Web服务器(如Apache或Nginx)和PHP/数据库等依赖。

2. Apache配置(基于NameVirtualHost)

  1. 修改Apache主配置文件(httpd.confapache2.conf),启用虚拟主机:
    NameVirtualHost *:80
  2. 为每个网站创建独立的配置文件(如 /etc/apache2/sites-available/site1.conf):
    <VirtualHost *:80>
       ServerName site1.com
       DocumentRoot /var/www/site1
       <Directory /var/www/site1>
           AllowOverride All
           Require all granted
       </Directory>
    </VirtualHost>
  3. 重复上述步骤配置 site2.com,并重启Apache:
    sudo a2ensite site1.conf site2.conf
    sudo systemctl restart apache2

3. Nginx配置(基于Server Blocks)

  1. /etc/nginx/sites-available/ 下为每个网站创建配置(如 site1.conf):
    server {
       listen 80;
       server_name site1.com;
       root /var/www/site1;
       index index.html index.php;
    }
  2. 创建符号链接并重启Nginx:
    sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
    sudo systemctl restart nginx

方法二:使用反向X_X(如Nginx)

适用于不同端口或后端服务的场景,例如一个网站运行在3000端口,另一个在5000端口。

1. 配置Nginx反向X_X

编辑Nginx配置文件,将不同域名X_X到不同端口:

server {
    listen 80;
    server_name site1.com;
    location / {
        proxy_pass http://localhost:3000;
    }
}

server {
    listen 80;
    server_name site2.com;
    location / {
        proxy_pass http://localhost:5000;
    }
}

2. 启动后端服务

确保两个网站的后端服务(如Node.js、Python)分别运行在3000和5000端口。


关键注意事项

  1. 资源隔离:避免两个网站占用过多CPU/内存,可通过Docker或cgroups限制资源。
  2. HTTPS支持:使用Let’s Encrypt为每个域名申请SSL证书。
  3. 日志分离:为每个网站配置独立的访问日志和错误日志。

总结

  • 虚拟主机适合静态网站或PHP应用,反向X_X适合动态服务(如Node.js)。
  • 核心要点是正确绑定域名、配置Web服务器,并确保服务互不冲突。
未经允许不得转载:CLOUD云枢 » 一台云服务器如何搭建两个网站?