如何在单个 nginx 服务器上托管和管理数千个低流量网站

如何在单个 nginx 服务器上托管和管理数千个低流量网站

我们公司已经创建了一个简单的 CMS 应用,计划将其出售给数千家小公司。目前,我们的 CMS 应用将 html 文件导出到预先配置的目录中,目录结构如下:

root:
    /foo.com
    /bar.com
    /.......

使用虚拟主机管理这些网站并不实际,目前,我们使用一个简单的 rack 模块,它根据 HTTP_HOST 找到正确的文件,并通过从硬盘读取文件返回相应的 html。这显然不是最佳解决方案。

你们会怎么做来解决这个问题?

答案1

如果您需要以不同的方式处理这些目录或想要节省精力,您可以为每个目录(虚拟主机)生成小型配置文件,请使用以下命令:

server {
  server_name   ~^(www\.)?(?<domain>.+)$;
  location / {
    root  /sites/$domain;
  }
}

这将请求域映射到目录。

相关内容