nginx配置的虚拟主机只有最后一个生效,是怎么回事啊?

nginx虚拟主机配置类似下面的结构,(放到sites-enabled目录下,一个站点建一个文件也一样)

http{



  server{

    listen       80;

    server_name  a.com;

    root /var/www/a;

  }



  server{

    listen       80;

    server_name  b.com;

    root /var/www/b;

  }



  server{

    listen       80;

    server_name  c.com;

    root /var/www/b;

  }



}



重启nginx以后,总是最后一个server有效,前面的a.com , b.com 都是指向c.com

大家有没有碰到这种情况,知道可能是什么原因么?
问题补充
不到不能配置到同一个端口么,每个站点换一个端口貌似可以,但是怎么都设置到80上呢?
问题补充:
嗯,我就是写的www.a.com

还有子域名,如qq.a.com

但是总是最后一个的生效。但是加上端口号的话,就不冲突,而且,奇怪是80端口那个冲突。建另外几个在81端口,他们都能用,但是80端口,最是最后一个服务霸者所有的。
问题补充:
谢谢 bohemia ,新建了一个文件,重新写了一遍规则,就好了,谢谢!

修改为如下,应该可以的:

[code="java"]http{

server{
listen 80;
server_name [color=red]www.a.com[/color];
root /var/www/a;
}

server{
listen 80;
server_name [color=red]www.b.com[/color];
root /var/www/b;
}

server{
listen 80;
server_name [color=red]www.c.com[/color];
root [color=blue]/var/www/c[/color];
}

} [/code]

Wiki参考:
http://www.nginx.cn/NginxChsVirtualHostExample

好像代码效果不好.

应该是:
a.com ==> www.a.com
b.com ==> www.b.com
c.com ==> www.c.com

[quote]server{
listen 80;
server_name a.com;
root /var/www/a;
} [/quote]

修改成

server{
listen 80;
server_name www.a.com;
root /var/www/a;
}

我在0.62版本上,测试下,多个域名可以转发; :) 都是80端口;

另外,是不是默认有进程端口占用了80,可以检查下.

请问解决了吗