nginx:虚拟主机配置
2016-05-18 09:44 ZengGW 阅读(578) 评论(0) 编辑 收藏 举报nginx的虚拟主机配置主要分为三类:
基于域名的虚拟主机(z.com)
基于ip的虚拟主机(192.168.1.42)
基于端口的虚拟主机(z.com:2022)
一般当服务器的主机超过两个时,建议将这些虚拟主机单独建立文件,然后在nginx.conf文件中直接引入(比如:include vhost/*.conf)
一、基于域名的虚拟主机
server {
listen 80;
server_name z.com;
location / {
root /home/www/zgw/;
index index.html;
}
}
解释:
server {}一个这个代表一个虚拟主机池
listen 80;端口(默认是80端口,下面基于域名虚拟主机时可填写别的端口)
root /home/www/zgw/;网页住目录
index index.html;默认网页文件
a.保存之后必须检查一下配置文件是否配置正确:/usr/local/nginx/sbin/nginx -t(出现test is successful字样代表配置成功)
b.去对应目录(/home/www/zgw/)下面建立index.html文件,并写入内容
c.重启一下nginx:kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
此时你在本地访问 z.com这个域名它会去请求外网,不会解析你linux配置的信息
d.必须修改本地host,绑定域名对应的linux的ip(比如ip为192.168.1.42)
192.168.1.42 z.com
此时访问就能出现刚才index.htm中写入的内容
二、基于端口的虚拟主机
依旧以z.com域名为例
server {
listen 2022;(只需要将基于域名的虚拟主机server{}复制一份,将此处的端口改成你想要的端口即可)
server_name z.com;
location / {
root /home/www/port/;
index index.html;
}
}
然后重复上面的的操作即可(注意:z.com域)
此时使用z.com:2022来进行访问
三、基于ip的虚拟主机
server {
listen 80;
server_name 192.168.1.42;
location / {
root /home/www/ip/;
index index.html;
}
}
然后重复(一)的操作即可,此处也不需要绑定host,值得注意的是,nginx的配置文件是从上读到下的,如果你把配置ip的虚拟主机放到nginx原先存在的localhost的server后面的话,你访问该ip会出现nginx的欢迎介面,而不是你刚才配置的信息了,顺序很重要