目录

  • 一. nginx 虚拟主机的设置
  • 1.1 基于域名的虚拟主机
  • 1.11 改测试系统的WIN10的映射文件host
  • 1.12 各个网站的目录和测试首页
  • 1.13 主配置文件
  • 1.2 基于端口的虚拟主机
  • 1.21 配置文件的修改
  • 1.22 客户机的测试
  • 1.3 基于不同IP的虚拟主机
  • 1.31 添加一张网卡并设置IP
  • 1.32 修改客户机的host 文件
  • 1.33 修改配置文件
  • 1.34 客户机测试


一. nginx 虚拟主机的设置

利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器,同一组 Nginx进程上运行多个网站的功能。跟Apache一样,Nginx也可以配置多种类型的虚拟主机,分别是基于IP的虚拟主机、基于域名的虚拟主机、基于端口的虚拟主机。
使用Nginx搭建虚拟主机服务器时,每个虚拟Web站点拥有独立的“serverf”配置段,各自监听的IP地址、端口号可以单独指定,当然网站名称也是不同的。

1.1 基于域名的虚拟主机

1.11 改测试系统的WIN10的映射文件host

1)修改host文件

修改windos客户机的C:\Windows\System32\drivers\etc\hosts文件,加入www.51xit.top和www.52xit.top这两个域名,它们都指向同一个服务器IP地址,用于实现不同的域名访问不同的虚拟主机。

20.0.0.24 www.lph.com www.dzg.com

2)开启nginx服务对域名进行初测试

无论是测试www.lph.com 还是www.dzg.com都是指向的服务器20.0.0.24的网站测试首页。

浏览器中访问:www.lph.com

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_nginx

浏览器中访问:www.dzg.com

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_nginx_02


后面要实现的是访问不同的域名可以访问到不同的网点。

1.12 各个网站的目录和测试首页

[root@localhost~]# mkdir -p /var/www/html/lph/              ####创建www.lph.com的根目录
[root@localhost~]# mkdir -p /var/www/html/dzg/              ####创建www.dzg.com的根目录
[root@localhost~]# echo "www.lph.com" >> /var/www/html/lph/index.html
[root@localhost~]# echo "www.dzg.com" >> /var/www/html/dzg/index.html

1.13 主配置文件

修改配置文件/usr/local/nginx/conf/nginx.conf,把配置文件中的server{}代码段全部去掉,加入2个新的server{}段,对应2个域名。

1)配置文件的修改

####省略####
    server {
        listen       80;
        server_name  www.lph.com;
        charset utf-8;
        access_log  logs/www.lph.com.access.log;
        location / {
            root   /var/www/html/lph;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
       server {
        listen       80;
        server_name  www.dzg.com;
        charset utf-8;
        access_log  logs/www.dzg.com.access.log;
        location / {
            root   /var/www/html/dzg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    ####省略####

2)客户机测试

访问www.lph.com

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_虚拟主机_03


访问www.dzg.com

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_nginx_04

1.2 基于端口的虚拟主机

只需要一个IP地址的不同端口实现访问不同的网点

1.21 配置文件的修改

server {
    listen      20.0.0.24:80;
    server_name  www.lph.com;
    charset utf-8;
    access_log  logs/www.lph.com.access.log;
    location / {
        root   /var/www/html/lph;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
server {
    listen       20.0.0.24:8080;
    server_name  www.dzg.com;
    charset utf-8;
    access_log  logs/www.dzg8080.com.access.log;
    location / {
        root   /var/www/html/dzg;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

1.22 客户机的测试

访问www.lph.com:80和访问20.0.0.24:80

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_配置文件_05


访问www.dzg.com:8080及访问20.0.0.24:8080

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_html_06

1.3 基于不同IP的虚拟主机

主机配置两个IP地址
20.0.0.24 192.168.100.24

1.31 添加一张网卡并设置IP

[root@localhost ~]# nmcli connection       #复制新增网卡的地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vi ifcfg-ens36
NAME=ens36
UUID=ee2dccf4-cc4a-34bc-9cea-37e7d528cd27     #粘贴新增网卡的地址
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.100.26
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifdown ens36
[root@localhost ~]# ifup ens36

#######打开电脑cmd ping一下      ping通继续

1.32 修改客户机的host 文件

20.0.0.0.24 www.lph.com
192.168.100.24 www.dzg.com

1.33 修改配置文件

server {
    listen      20.0.0.24:80;
    server_name  www.lph.com;
    charset utf-8;
    access_log  logs/www.lph.com.access.log;
    location / {
        root   /var/www/html/lph;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
server {
    listen       192.168.100.24:80;
    server_name  www.dzg.com;
    charset utf-8;
    access_log  logs/www.dzg.com.access.log;
    location / {
        root   /var/www/html/dzg;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

1.34 客户机测试

访问www.lph.com和访问20.0.0.24

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_配置文件_07


访问www.dzg.com和访问192.168.100.24

nginx实现同一端口在不同域名前缀下分流至不同静态页面 nginx不同端口映射不同ip_html_08