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


Posted in Servers onMarch 31, 2021

一. 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基于域名,端口,不同IP的虚拟主机设置的实现的文章就介绍到这了,更多相关nginx 虚拟主机设置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx的rewrite模块详解
Mar 31 Servers
解决Nginx 配置 proxy_pass 后 返回404问题
Mar 31 Servers
Nginx搭建rtmp直播服务器实现代码
Mar 31 Servers
nginx简单配置多个server的方法
Mar 31 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
Nginx配置文件详解以及优化建议指南
Sep 15 Servers
Nginx缓存设置案例详解
Sep 15 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
apache ftpserver搭建ftp服务器
May 20 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 Servers
Nginx设置日志打印post请求参数的方法
Mar 31 #Servers
nginx 多个location转发任意请求或访问静态资源文件的实现
nginx简单配置多个server的方法
nginx proxy_cache 缓存配置详解
Nginx搭建rtmp直播服务器实现代码
Mar 31 #Servers
nginx 反向代理之 proxy_pass的实现
Mar 31 #Servers
nginx location中多个if里面proxy_pass的方法
Mar 31 #Servers
You might like
福利彩票幸运号码自动生成器
2006/10/09 PHP
JavaScript 参考教程
2006/12/29 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
Django返回json数据用法示例
2016/09/18 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
毕业生动漫设计求职信
2013/10/11 职场文书
加拿大探亲邀请信
2014/01/28 职场文书
运动会解说词200字
2014/02/06 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
努力工作保证书
2015/02/28 职场文书
小学德育工作总结2015
2015/05/12 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
MySQL多表查询机制
2022/03/17 MySQL