Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022
2010 一月 09 一个程序猿 孙小一,孙小二,PHP,MYSQL,LINUX,APACHE,原创技术,扯淡

在nginx下配置自动虚拟主机

作者 : admin 于 2010年01月09日, 00:33:37
2010
01-9

以前用apache,很多虚拟主机的时候,用 mod_vhost_alias 模块去解决。nginx似乎没有这样的功能。

原来为了做这个功能,我用python写了一堆脚本,去自动管理nginx的配置文件,结果还是不理想。频繁重写配置文件,频繁重启,总会出现点问题。

在nginx的0.8.*下,发现了这样的功能:http://wiki.nginx.org/NginxHttpCoreModule

Since nginx 0.8.25 named captures can be used in server_name:
server {
server_name ~^(www\.)?(?.+)$;
location / {
root /sites/$domain;
}
}

大喜,于是乎做出如下配置,实现了nginx下自动虚拟主机的功能:

  1. server {
  2.      listen       80;
  3.      server_name  ~^(?P<domainname>.+)\.autovhost\.sunboyu\.cn$;
  4.      location / {
  5.          #autoindex  on;
  6.          root   /home/vhost/$domainname;
  7.          index  index.html index.htm;
  8.      }
  9.      access_log /home/autovhost.sunboyu.cn.log main;
  10. }
  11. </domainname>

测试通过。

我的开源虚拟主机管理系统nginx版本指日可待。