使用Apache或Nginx在一个服务器/IP上托管多个域

本文概述

配置Apache/Nginx以托管多个网站

如果你使用的是DigitalOcean等专用服务器或VPS或任何其他服务器, 并计划在单个服务器上托管多个网站, 则可以使用Apache HTTP或Nginx Web服务器来做到这一点。

假设你已经将DNS映射到你的主机, 就像下面两个我映射到DigitalOcean的域一样。

  1. bestflare.com
  2. usefulread.com

在实施此功能之前, 请先了解其工作原理。在单个实例上具有多个网站的概念称为虚拟服务器。虚拟服务器配置是在Web服务器配置中定义的, 并且基于服务器/ IP地址, 请求将转发到相应的文档根目录。

在Apache中配置虚拟主机以承载多个域

  • 登录到Apache HTTP Server
  • 转到apache conf位置。 (在默认安装中–你可以在/etc/httpd/conf/httpd.conf中找到它)
  • 备份httpd.conf文件
  • 像下面那样创建一个VirtualHost容器, 我已经为两个域完成了。
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/bestflare
   ServerName bestflare.com
   ErrorLog logs/bestflare.com-error_log
   CustomLog logs/bestflare.com-access_log common
</VirtualHost>
<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/usefulread
   ServerName usefulread.com
   ErrorLog logs/usefulread.com-error_log
   CustomLog logs/usefulread.com-access_log common
</VirtualHost>

注意:根据你的要求更改ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog的值。

  • 重新启动Apache HTTP并测试两个URL。

在Nginx中配置虚拟主机以承载多个域

  • 登录到Nginx服务器
  • 转到virtual.conf位置(在默认位置–你可以在/etc/nginx/conf.d/virtual.conf中找到它)
  • 备份virtual.conf
  • 如下所示, 为两个URL创建服务器块。
server {
listen 80;
   root /opt/htdocs/bestflare;
index index.html index.htm;
   server_name bestflare.com;
   location/{
       try_files $uri $uri/ =404;
   }
}
server {
   listen 80;
   root /opt/htdocs/usefulread;
   index index.html index.htm;
   server_name usefulread.com;
   location/{
       try_files $uri $uri/ =404;
   }
}

注意:根据你的要求更改root server_name的值。

  • 重新启动Nginx并测试两个URL

那是在单个Web服务器实例(例如Apache或Nginx)中托管多个域的快速指南。网站上线后, 请不要忘记对其进行安全性测试。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?