Nginx 配置虚拟主机1
Vps 上安装了 nginx。用多个子域名,每个子域名到不同的目录。如:
[*]
[*]http {
[*] server {
[*] listen 80;
[*] server_name a.chenlb.com;
[*] access_log logs/a.access.log main;
[*]
[*] server_name_in_redirect off;
[*]
[*] location / {
[*] index index.html;
[*] root /home/www/host_a/;
[*] }
[*] }
[*]
[*] server {
[*] listen 80;
[*] server_name b.chenlb.com;
[*] access_log logs/b.access.log main;
[*]
[*] server_name_in_redirect off;
[*]
[*] location / {
[*] index index.html;
[*] root /home/www/host_b/;
[*] }
[*] }
[*]}
http {
server {
listen 80;
server_name a.chenlb.com;
access_log logs/a.access.log main;
server_name_in_redirect off;
location / {
index index.html;
root /home/www/host_a/;
}
}
server {
listen 80;
server_name b.chenlb.com;
access_log logs/b.access.log main;
server_name_in_redirect off;
location / {
index index.html;
root /home/www/host_b/;
}
}
}
结果发现用 b.chenlb.com 还是指到 host_a 目录。后来看了官方示例:http://wiki.nginx.org/NginxVirtualHostExample,提到有个 default 的匹配,如:
[*]
[*]http {
[*] server {
[*] listen 80 default;
[*] server_name _;
[*] access_log logs/default.access.log main;
[*]
[*] server_name_in_redirect off;
[*]
[*] location / {
[*] index index.html;
[*] root /var/www/default/htdocs;
[*] }
[*] }
[*]}
http {
server {
listen 80 default;
server_name _;
access_log logs/default.access.log main;
server_name_in_redirectoff;
location / {
index index.html;
root/var/www/default/htdocs;
}
}
}
加上这个 default 就可使 a.chenlb.com 和 b.chenlb.com 正常工作了。
页:
[1]