首页 > nginx > nginx配置虚拟主机没有生效

nginx配置虚拟主机没有生效

2012年6月8日 发表评论 阅读评论

nginx可以使用server块来设置多个虚拟主机,在server段中用server_name和listen指令来绑定域名和端口。例如:

server {
	listen          80;
	server_name    www.netingcn.com;
	
	location / {
		root  netingcn_com;
		index index.html;
	}
}

server {
	listen          80;
	server_name     www.netingcn.net;
	
	location / {
		root  netingcn_net;
		index index.html;
	}
}

上述配置就是指定了两个虚拟主机,分别是www.netingcn.com和www.netingcn.net。可能在某些nginx的版本中上述的配置并不能很好的工作,出现的情况是所有的请求都是由第一个server处理的。

造成这个的原因是没有配置一个”Catch All”的缺省server,所谓缺省即是把不匹配配置指定的虚拟主机的请求都交给缺省server来处理。缺省server的配置如下:

server {
	listen 80 default_server;
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	access_log logs/default.access.log main;
	
	server_name_in_redirect off;
	
	root  /var/www/default/htdocs;
}

更多信息参看官方示例:http://blog.chenlb.com/2010/01/nginx-conf-virtual-hosts.html



欢迎转载,转载请注明文章出处,谢谢!
垃圾有点差凑合看还不错很精彩 (还没有人进行评分)
Loading...Loading...
分类: nginx 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量