服务器 
首页 > 服务器 > 浏览文章

nginx基于域名,端口,不同IP的虚拟主机设置的实现

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

一. 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基于域名,端口,不同IP的虚拟主机设置的实现

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

nginx基于域名,端口,不同IP的虚拟主机设置的实现

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

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基于域名,端口,不同IP的虚拟主机设置的实现

访问www.dzg.com

nginx基于域名,端口,不同IP的虚拟主机设置的实现

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基于域名,端口,不同IP的虚拟主机设置的实现

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

nginx基于域名,端口,不同IP的虚拟主机设置的实现

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基于域名,端口,不同IP的虚拟主机设置的实现

访问www.dzg.com和访问192.168.100.24

nginx基于域名,端口,不同IP的虚拟主机设置的实现

上一篇:Nginx搭建rtmp直播服务器实现代码
下一篇:Nginx实现https网站配置代码实例
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。