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文件即可。
下图是我的一台服务器虚拟主机配置文件: