帮助中心

手把手教你:单台服务器部署多个网站 打印

  • 0
  • Apache 2 虚拟主机设置, 基于域名 / IP / 端口的多站点配置, HTTPS 虚拟主机示例

一、什么是虚拟主机?为什么要这么做?

如果你有一台服务器,就像你有一套大房子。
虚拟主机就像把这套房子隔成多个 “房间”,每个房间可以住不同的 “网站”(比如www.abc.comwww.def.com)。
这样只用一台服务器,就能同时运行多个网站,省钱又方便!

二、准备工作:先确认你的服务器环境

  1. 安装 Apache
    • 如果你用的是 Linux(常见的如 CentOS、Ubuntu),打开终端输入:
      • CentOS:sudo yum install httpd
      • Ubuntu:sudo apt-get install apache2
    • 安装后,用 sudo systemctl start httpd(CentOS)或 sudo systemctl start apache2(Ubuntu)启动 Apache。
  2. 找到配置文件
    • Apache 的主配置文件一般在:
      • CentOS:/etc/httpd/conf/httpd.conf
      • Ubuntu:/etc/apache2/apache2.conf

三、三种虚拟主机类型,新手先学最常用的两种

第一种:多个域名共用一个 IP(最常用!)

比如你有域名 www.abc.com 和 www.def.com,但服务器只有一个 IP(比如 192.168.1.100),就用这种方法。

操作步骤:

  1. 在服务器里给每个网站建一个文件夹
    • 比如:
      plaintext
      sudo mkdir /var/www/abc.com  
      sudo mkdir /var/www/def.com  
      
    • 分别在这两个文件夹里放网站文件(比如放一个 index.html 测试)。
  2. 修改 Apache 配置文件
    • 打开主配置文件,在最后加上以下内容(新手直接复制,改域名和路径):
      plaintext
      <VirtualHost *:80>  
          ServerName www.abc.com  
          DocumentRoot /var/www/abc.com  
          ErrorLog /var/log/httpd/abc_error.log  
          CustomLog /var/log/httpd/abc_access.log combined  
      </VirtualHost>  
      
      <VirtualHost *:80>  
          ServerName www.def.com  
          DocumentRoot /var/www/def.com  
          ErrorLog /var/log/httpd/def_error.log  
          CustomLog /var/log/httpd/def_access.log combined  
      </VirtualHost>  
      
    • 关键参数解释
      • ServerName:你的域名(比如www.abc.com)。
      • DocumentRoot:这个网站文件存放的位置。
      • ErrorLogCustomLog:记录这个网站的错误和访问日志(新手暂时不用管,按格式写就行)。
  3. 让域名指向服务器 IP
    • 去你的域名服务商(比如阿里云域名控制台),给这两个域名添加一个 “A 记录”,指向服务器的 IP 地址(比如 192.168.1.100)。
  4. 重启 Apache
    • CentOS:sudo systemctl restart httpd
    • Ubuntu:sudo systemctl restart apache2
  5. 测试
    • 打开浏览器,输入域名,看看是不是显示对应的网站文件内容!

第二种:不同端口区分网站(适合测试环境)

比如用 192.168.1.100:8080 访问第一个网站,192.168.1.100:8081 访问第二个网站(端口号可以改)。

操作步骤(比第一种简单):

  1. 建文件夹(同上)
    plaintext
     
    sudo mkdir /var/www/site1  
    sudo mkdir /var/www/site2  
    
  2. 改配置文件
    plaintext
     
    <VirtualHost *:8080>  
        DocumentRoot /var/www/site1  
    </VirtualHost>  
    
    <VirtualHost *:8081>  
        DocumentRoot /var/www/site2  
    </VirtualHost>  
    
  3. 重启 Apache(同上)
  4. 浏览器输入 IP + 端口测试:比如 http://192.168.1.100:8080

第三种:不同 IP 地址(新手暂时用不到,先跳过)

如果你的服务器有多个 IP(比如 192.168.1.100 和 192.168.1.101),配置类似第一种,把 ServerName 换成 IP 就行,新手暂时不用学~

四、新手常见问题排查(一定会遇到!)

  1. 浏览器显示 “无法访问此网站”
    • 可能原因 1:Apache 没启动 → 用 sudo systemctl status httpd 检查状态,没启动就用 start 命令启动。
    • 可能原因 2:端口被占用 → 80 端口常用,如果你用了其他软件(比如 Nginx),可以改成 8080 等端口(改配置文件里的端口号)。
    • 可能原因 3:域名没生效 → 域名解析需要时间(通常 10 分钟到 1 小时),先用 IP + 端口测试(比如 http://192.168.1.100:8080)。
  2. 修改配置文件后不生效
    • 一定记得重启 Apache!一定记得重启!重要的事情说三遍!
  3. 文件权限问题
    • 如果你放网站文件的文件夹不让 Apache 访问,会报错 403(禁止访问)。
    • 解决方法:给文件夹权限 → sudo chmod -R 755 /var/www/你的网站文件夹

五、总结:新手必记的 3 个重点

  1. 虚拟主机就是 “服务器里隔房间”,每个 “房间” 放不同网站,通过域名、IP 或端口区分。
  2. 最常用的是 “多个域名共用一个 IP”,按步骤改配置文件、建文件夹、绑域名就行。
  3. 遇到问题先检查三点:Apache 是否启动?配置是否正确?有没有重启?

 

跟着步骤操作,新手也能轻松在一台服务器上部署多个网站!
这篇文章有帮助吗?
« 返回