使用nginx或apache中的附加参数自动创build子域

我需要使用nginx自动创build和删除子域名。 我知道我可以用下面的方法做到这一点:

server { listen 80; server_name example.com *.example.com; root /var/www/example.com/$subdomain; set $subdomain ""; if ($host ~* ^([a-z0-9-\.]+)\.example.com$) { set $subdomain $1; } if ($host ~* ^www.example.com$) { set $subdomain ""; } } 

我可以使用脚本在根/var/www/example.com/中创build文件夹,nginx将为我创build合适的子域。

但是我需要设置这样的参数,如同时连接的数量和最大连接带宽和参数的值将被传递给我的脚本。

所以问题是如何设置这些额外的参数?

如果没有办法使用nginx来解决我的问题,那么可以告诉我如何使用apache来解决这个问题。

谢谢!

我包含一个子文件夹(/ etc / nginx / confs),并为每个子域创build一个新文件。 我正在运行rails应用程序,所以我需要在每个子域中进行适当的configuration。 我有一个后台beanstalkd工作人员,当有人报名安装应用程序,创buildnginx conf和重新加载nginx。

如果我得到这个正确的东西,你现在可以用apache上的mod_vhost_alias来实现,所以你有和nginx一样的行为,就像这个手册页一样 。

关于剩下的参数,我build议你使用mod_qos并将其设置在要提供文件的目录中的.htaccess文件中。

如果你对这个post发表评论,我可以提出问题:)

希望这可以帮助!

没有办法做到你想要的东西。 Nginx不是用大容量主机写的,而是为高stream量的网站编写的。

用Nginx处理这个问题的正确方法是没有一个全面的服务器模块,而是每个子域都有一个服务器模块。 手工创build这些东西显然很乏味,所以强烈build议编写一个能生成它们的脚本,而不是太复杂。