如何配置nginx动态读取文件夹、用户帐户/域?

如何配置nginx动态读取文件夹、用户帐户/域?

我的 CentOS 6.6 VPS 上有 cPanel 和 Apache 2.4。我安装了 Nginx 作为反向代理。

一切正常。我的 VPS 上有 2 个域,我可以在 nginx 上配置它们。

问题是每次添加域时我都必须编辑配置并重新加载 nginx。

这是我的 nginx.conf 文件的一部分:

http {
...

 map $host $root {
      hostnames;
      default /var/www;
      example1.com /home/username1/public_html;
      www.example1.com /home/username1/public_html;
      example2.com /home/username2/public_html;
      www.example2.com /home/username2/public_html;
   }

server {
   listen 127.0.0.1:80 default_server;
   root $root;
   server_name server1;
   access_log off;
   error_log off;  
   location ~*  \.(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|htm|html|js|css)$ {
   expires 30d;
}

如你看到的,这段代码: example1.com /home/username1/public_html;它定义了服务器上的第一个域/帐户。我想要实现的目标是放置一个代码像下面这样: $domain /home/$user/public_html;为了动态读取任何域,无需编辑特定域的配置以及用户名目录。实际上,我尝试了这段代码,但没有成功。

也许我可以声明一些变量并使其按我想要的方式工作?如果这里有人有建议或可以编辑我的代码,那就太好了。谢谢。

笔记: 我不想为 cPanel 使用 NginxCP 插件,因为它安装了 mod_rpaf 模块,该模块不适用于 Apache 2.4,并已被 mod_remoteip 取代。

相关内容