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,可以检查下.
请问解决了吗