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

让我们学习如何配置 Apache 和 Nginx 来托管多个网站。

与共享托管相比,云服务器上的托管站点提供了更大的灵活性。 您可以安装任何您喜欢的东西,按比例放大或缩小,并进行配置以获得更好的性能和成本优化。

如果您运行多个业务站点但不想单独托管它们,则可以利用 Web 服务器中的虚拟服务器。 让我们来看看这个场景。

我有以下两个站点,我想将它们指向我的一个云 VM。

在实施之前,让我们了解它是如何工作的。

在单个 Web 服务器实例上拥有多个网站的概念称为虚拟服务器。 它与 URL 一起在配置文件中定义。 当向定义的 URL 发出请求时,网络服务器将为来自相应文档根目录的流量提供服务。

在 Apache 中配置虚拟主机以托管多个域

  • 登录 Apache HTTP 服务器
  • 转到 apache conf 位置。 (在默认安装中——你会在这里找到它 /etc/httpd/conf/httpd.conf)
  • 备份 httpd.conf 文件
  • 创建一个 VirtualHost 容器,就像我为两个域所做的那样。
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.techblik.com.com
   ErrorLog logs/lab.techblik.com.com-error_log
   CustomLog logs/lab.techblik.com.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

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

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

在 Nginx 中配置虚拟主机以托管多个域

  • 登录 Nginx 服务器
  • 转到您安装 Nginx 的位置。 (在默认位置——你会在这里找到它/etc/nginx/)
  如何将表情符号添加到您的 Tik Tok 视频

有多种方法可以实现这一目标。 您可以修改 nginx.conf 文件或自定义文件(如果有)。 您还可以在 conf.d 文件夹下创建一个 custom.conf。 如果修改现有文件,请选择适合您的并进行备份。

  • 为两个 URL 创建一个服务器块,如下所示。
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.techblik.com.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

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

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

不要忘记更新您的 URL 的 DNS 记录以映射到服务器 IP。 完成后,您应该能够访问通过您所做的上述配置获得服务的 URL。

结论

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

喜欢阅读这篇文章吗? 与世界分享怎么样?