nginx配置虚拟主机-端口号区分/域名区分

Nginx实现虚拟机

能够实如今同一台服务运行多个网站,并且网站之间互相不干扰。同一个服务器可能有一个ip,网站须要使用80端口。网站的域名不一样。html

区分不一样的网站有三种方式:ip区分、端口区分、域名区分,显然经过IP区分是不太现实的,这里只验证后两种方式nginx

1.配置nginx基于端口号的虚拟主机浏览器

1.1 nginx配置文件中添加一个server节点,这里server节点的域名都是localhost,只是端口号不一样服务器

 

1.2 将 /usr/local/nginx/路径下的html目录复制一份,命名为html81tcp

修改html目录下的index.html以下:测试

hml81目录下的index.html修改以下:网站

1.3 从新加载配置文件:spa

cd /usr/local/nginx/bin.net

./nginx -s reload 3d

而后测试虚拟主机:

经过浏览器访问80端口的虚拟主机:

经过浏览器访问81端口的虚拟主机:

 

注意:若是81端口访问不通,有多是被防火墙拦截了!开放81端口便可:

 [root@localhost nginx]# /sbin/iptables -I INPUT -p tcp --dport 81 -j ACCEPT

[root@localhost nginx]# /etc/rc.d/init.d/iptables save

 2.nginx配置基于域名区分的虚拟主机——最有用的虚拟主机配置方式。

咱们平时访问淘宝时只须要在浏览器地址栏中输入taobao.com即可以访问淘宝首页,这个”taobao.com”即是域名,并且”taobao.com”是一级域名,咱们买域名买的即是一级域名,而”www.taobao.com”是二级域名。若是咱们想在浏览器地址栏中输入域名访问咱们本身的网站的话,可有两个途径,第一个途径是买一个属于本身的域名,访问这个域名须要通过DNS服务器(把域名解析为ip地址,保存的就是域名和ip之间的映射关系),DNS服务器就是为了将访问的域名对应到相应的IP上,因此最终仍是经过IP实际访问网站的,以下:

注意,一个域名对应一个ip地址,一个ip地址能够被多个域名绑定。第二个途径是配置本地的hosts文件,若是hosts文件中有配置域名对应的ip,就不会去请求DNS服务器了,会直接用hosts中配置的ip地址去访问网页。 

2.1 hosts添加域名映射:在hosts文件中添加以下两个域名来进行测试:

2.2 修改nginx.conf配置,设置以域名方式区分虚拟主机,设置以下:

修改server监听的端口号均为80端口;

第一个server节点的server_name 设置为www.test81.com; location 节点root 值仍然为 html81, 当浏览器输入http://www.test81.com时,应该会访问到 

/usr/local/nginx/html81路径下的index.html ,同理,第二个server节点只修改server_name为 www.test80.com; 便可(注意结尾的分号不能少)

修改保存后,重启nginx:

2.3测试:

 

参考资料:https://blog.csdn.net/yerenyuan_pku/article/details/73135376

相关文章
相关标签/搜索