nginx基于域名,端口,不同IP的虚拟主机设置的实现
一. 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
浏览器中访问:www.dzg.com
后面要实现的是访问不同的域名可以访问到不同的网点。
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
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
访问www.dzg.com:8080及访问20.0.0.24:8080
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
访问www.dzg.com和访问192.168.100.24