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

Kha*_*din 2 nginx domain configuration-management

我们公司已经创建了简单的 CMS 应用程序,并计划将其出售给数千家小公司。现在,我们的 CMS 应用程序将 html 文件输出到目录结构中的预配置目录,例如:

root:
    /foo.com
    /bar.com
    /.......
Run Code Online (Sandbox Code Playgroud)

使用虚拟主机管理这些网站是不切实际的,现在,我们正在使用一个简单的机架模块,它根据 HTTP_HOST 找到正确的文件,并通过从硬盘驱动器读取文件来返回适当的 html。这显然不是最优解。

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

Ist*_*van 6

如果您需要以不同方式处理这些目录,或者如果您想节省工作量,您可以为您拥有的每个目录(虚拟主机)生成小的配置文件,请使用以下内容:

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

这将请求域映射到目录。