返回列表 发帖

CentOS6_Nginx反向代理+基于域名的虚拟主机

笺注:Nginx服务器的安装可参考 CentOS6_Nginx反向代理+负载均衡(轮询)


Nginx服务器的信息:
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@localhost ~]#
[root@localhost ~]# uname -r
2.6.32-696.el6.x86_64

[root@localhost ~]# ifconfig eth0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'
192.168.168.130


查看Nginx的版本信息:
[root@localhost ~]# nginx -v
nginx version: nginx/1.10.0
[root@localhost ~]#
[root@localhost ~]# nginx -V
nginx version: nginx/1.10.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

[root@localhost ~]#



##########
##########

实验一的网络拓扑图:
图片1.png


先准备好一台的Web服务器(192.168.168.154),里面有两个基于域名的虚拟主机discuz.zhuohua.store、bbs.zhuohua.store

Window客户端访问Web服务器(192.168.168.154)的两个基于域名的虚拟主机:(在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定)
图片2.png


http://discuz.zhuohua.store/
图片3.png

http://bbs.zhuohua.store/
图片4.png



######

配置Nginx服务器,修改Nginx的主配置文件:
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
图片5.png
修改为:( 必须要在 http {} 里面 )
  upstream webservers_1{
    ip_hash;
    server 192.168.168.154:80;
   }

  server {
    listen 80;  #Nginx的端口
    server_name discuz.zhuohua.store;
    location / {
    proxy_pass http://webservers_1;
    proxy_set_header Host $http_host;
   }
   }


  upstream webservers_2{
    ip_hash;
    server 192.168.168.154:80;
   }

  server {
    listen 80;  #Nginx的端口
    server_name bbs.zhuohua.store;
    location / {
    proxy_pass http://webservers_2;
    proxy_set_header Host $http_host;
   }
   }

如下图:
图片6.png

图片7.png

注释:此时,外面的客户端访问Nginx的TCP 80端口时,等于访问192.168.168.154的TCP 80端口,并且区分了域名。


重启Nginx服务,使更改生效:
[root@localhost ~]# service nginx restart
[root@localhost ~]#



Window客户端重新把域名解析到Nginx服务器的IP地址:
图片8.png

http://discuz.zhuohua.store/
图片9.png

http://bbs.zhuohua.store/
图片10.png

注释:此时,外面的客户端访问Nginx服务器的的域名discuz.zhuohua.store、bbs.zhuohua.store时,等于访问Web服务器(192.168.168.154)的基于域名的虚拟主机。















##########
##########

实验二的网络拓扑图:
图片11.png


再准备好一台的Web服务器(192.168.168.135),里面有一个默认站点(没有基于域名的虚拟主机)

Window客户端可以直接通过IP地址的方式对Web服务器(192.168.168.135)进行访问:
http://192.168.168.135/
图片12.png


Window客户端也可以通过域名的方式对Web服务器(192.168.168.135)进行访问:(在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定)
图片13.png

http://vip1.zhuohua.store/
图片14.png

http://vip2.zhuohua.store/
图片15.png



######

配置Nginx服务器,修改Nginx的主配置文件:
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf

插入:( 必须要在 http {} 里面)
  upstream webservers_3{
    ip_hash;
    server 192.168.168.135:80;
   }

  server {
    listen 80;
    server_name vip1.zhuohua.store vip2.zhuohua.store;
    location / {
    proxy_pass http://webservers_3;
    proxy_set_header Host $http_host;
   }
   }

如下图:
图片16.png

重启Nginx服务,使更改生效:
[root@localhost ~]# service nginx restart
[root@localhost ~]#


Window客户端重新把域名vip1.zhuohua.store、vip2.zhuohua.store解析到Nginx服务器的IP地址:
图片17.png

http://vip1.zhuohua.store/
图片18.png

http://vip2.zhuohua.store/
图片19.png

注释:此时,外面的客户端访问Nginx服务器的域名vip1.zhuohua.store、vip2.zhuohua.store时,等于访问Web服务器(192.168.168.135)的域名vip1.zhuohua.store、vip2.zhuohua.store。





相关文章:
CentOS6_Nginx反向代理+基于域名的虚拟主机+Web集群

CentOS8_在Docker中使用Nginx的反向代理

返回列表