nginx的虚拟主机

什么是nginx的虚拟主机

虚拟主机是用来映射网站域名和网站代码文件夹的关系.它可以通过server配置, 每个server表示一个虚拟机主机.

标准的虚拟主机配置

http {
#默认的虚拟机主机
server {
listen 80 default;
server_name localhost;
access_log logs/default.access.log main;
location / {
index index.html;
root /var/www/default/htdocs;
}
}

#www.domain1.com对应的虚拟主机

server {
    listen          80;
    server_name     www.domain1.com;
    #access_log      logs/domain1.access.log main;
    location / {
        index index.html;
        root  /var/www/domain1.com/htdocs;
    }

}

#www.domain2.com对应的虚拟主机

server {
    listen          80;
    server_name     www.domain2.com;
    access_log      logs/domain2.access.log main;
    location / {
        index index.html;
        root  /var/www/domain2.com/htdocs;
    }
}

}

建议的配置方式

建议将每个虚拟主机放置到一个文件中

以上全部配置在主配置文件中可能不小心修改掉配置文件导致nginx.conf文件出错. 可以使用include指令将每个虚拟主机放在一个单独的配置文件中.

将nginx服务器目录结构设置为:

nginx

nginx.conf

vhost

-- www.domain1.com.conf

-- www.domain2.com.conf

每个.conf结尾的文件中保存一个虚拟主机(server)的配置信息.在nginx.conf中通过include指令包含这些配置文件.

在nginx/config/nginx.conf中的配置:

http {
#默认的虚拟机主机
server {
listen 80 default;
servername ;
access_log logs/default.access.log main;
location / {
index index.html;
root /var/www/default/htdocs;
}
}
include vhost/
.conf;
}

在nginx/config/vhost/www.domain1.com.conf中的配置:

server {
listen 80;
server_name www.domain1.com;
access_log logs/domain1.access.log main;
location / {
index index.html;
root /var/www/domain1.com/htdocs;
}
}

在nginx/config/vhost/www.domain2.com.conf中的配置:

server {
listen 80;
server_name www.domain2.com;
access_log logs/domain2.access.log main;
location / {
index index.html;
root /var/www/domain2.com/htdocs;
}
}
转载自:http://www.codexueyuan.com/learn/learn-detail188-nginxxunizhuji