nginx的虚拟主机配置的有序管理

nginx配置虚拟主机一般是由nginx.conf实现,我看很多人是直接在nginx.conf文件里配置,如果服务器下放很多个网站,比如50个,那么这个nginx.conf文件会显得很长,体积很大,维护的时候不方便,而且出错几率很大。

当虚拟主机很多时,我们可以采用以下方法来达到有序管理:

一,在nginx.conf的http里添加一条信息:

include vhost/*.conf;

二,nginx.conf所在的目录下新建文件夹 vhost

三,在vhost里存放每个网站的虚拟主机配置文件,以域名命名。

.

比如要新增一个网站www.fuckyou.com,该虚拟主机配置文件就命名为fuckyou.com.conf

四,最后在vhost里的对应虚拟主机配置文件里加入下面类似的信息:

server { 
    listen 80; 
    server_name www.fuckyou.com fuckyou.com; 
    index index.html index.htm index.php default.html default.htm default.php; 
    root /home/wwwroot/fuckyou.com; 
    location ~ .*/.(php|php5)?$ { 
        try_files $uri =404; 
        fastcgi_pass unix:/tmp/php-cgi.sock; 
        fastcgi_index index.php; 
        include fcgi.conf;
    } 
    location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)$ { 
        expires 30d; 
    } 
    location ~ .*/.(js|css)?$ { 
        expires 12h; 
    } 
}

以上文件修改配置好后,上传,重新加载nginx后即可看到正常访问了。

在第一步添加的信息include vhost/*.conf;,意思就是加载文件夹vhost里所有的conf文件信息到nginx.conf中。vhost里的conf用域名命令是为了管理方便,识别方面。想修改哪个网站的配置就直接找vhost下对应的conf文件即可。

下图是我的一台服务器虚拟主机配置文件:

1.gif