nginx系列-----虚拟主机(多IP地址)

简介: 虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。

 重启虚拟机:reboot             重启虚拟机:reboot               重启虚拟机:reboot

1.虚拟主机介绍    

      虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。

      虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于

HTTP(Hypertext Transfer Protocol,超文本传输协议)服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。

2.Nginx如何配置虚拟主机

①. 基于IP的虚拟主机

②. 基于端口的虚拟主机

③. 基于域名的虚拟主机

3.基于IP的虚拟主机配置方式

一台Linux服务器绑定两个ip:192.168.20.30、192.168.20.29

访问不同的ip请求不同的html目录,即:

访问http://192.168.20.30将访问“html30”目录下的html网页

访问http://192.168.20.29将访问“html29”目录下的html网页

Linux操作系统允许绑定多IP。是在一块物理网卡上可以绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。但是在绑定多IP时需要将动态的IP分配方式修改为静态的指定IP。

 将动态IP修改为静态IP

2345_image_file_copy_212.jpg

查看更改后的IP: ip addr

2345_image_file_copy_213.jpg

[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# ls
ifcfg-ens33
[root@localhost network-scripts]# vim ifcfg-ens33
BOOTPROTO="static"
IPADDR0=192.168.20.30
IPADDR1=192.168.20.29
#或重启网卡
[root@localhost network-scripts]# reboot  nmcli c reload ens33

进入  nginx.conf文件  并且修改

在下图蓝色笔 画的地方如何删除(命令:d+G)

2345_image_file_copy_214.jpg

2345_image_file_copy_215.jpg

其中的注释没有用  如何删除 (命令行: .,$-2d)

2345_image_file_copy_216.jpg

如果在Linux中复制 把光标放到要复制的地方 (命令行: .,$-1y)  粘贴: P

2345_image_file_copy_217.jpg

修改配置nginx.conf

[root@localhost network-scripts]# vim /usr/local/nginx/conf/nginx.conf
#一个Server就是一个虚拟主机
 server {
   listen    80;
#为虚拟机指定IP或者是域名
   server_name 192.168.20.30;
#主要配置路由访问信息
   location / {
 #用于指定访问根目录时,访问虚拟主机的web目录
     root  html30;
 #在不指定访问具体资源时,默认的展示资源的列表
     index index.html index.htm;
   } 
   error_page  500 502 503 504 /50x.html;
   location = /50x.html {
     root  html;
   }
 }
 #一个Server就是一个虚拟主机
 server {
   listen    80;
 #为虚拟机指定IP或者是域名
   server_name 192.168.20.29;
#主要配置路由访问信息
   location / {
 #用于指定访问根目录时,访问虚拟主机的web目录
     root  html29;
 #在不指定访问具体资源时,默认的展示资源的列表
     index index.html index.htm;
   } 
   error_page  500 502 503 504 /50x.html;
   location = /50x.html {
     root  html;
   }
 }
}

准备需要的目录和html页面:

[root@localhost conf]# cd ../
[root@localhost nginx]# ls
conf html logs sbin scgi_temp
[root@localhost nginx]# cd html/
[root@localhost html]# ls
50x.html index.html
[root@localhost html]# mkdir ../html30
[root@localhost html]# cp index.html html30/
[root@localhost html]# vim html30/index.html
<body>
<h1>Welcome to nginx 192.168.20.30!</h1>
<p><em>Thank you for using nginx.</em></p>
</body>
[root@localhost html]# cp -r html30/ html29
[root@localhost html]# vim html29/index.html
将30改为29
#然后将html30和html29移动到html同级目录
[root@localhost html]# mv html30/ ../
[root@localhost html]# mv html29/ ../

重启Nginx服务:

[root@localhost html]# systemctl stop nginx.service
[root@localhost html]# systemctl start nginx.service
目录
相关文章
|
22天前
|
应用服务中间件 nginx
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
|
1月前
|
运维 负载均衡 应用服务中间件
LNMP详解(九)——Nginx虚拟IP实战
LNMP详解(九)——Nginx虚拟IP实战
55 2
|
5月前
|
Java 应用服务中间件 nginx
Nginx之服务端获取真实客户端IP
Nginx之服务端获取真实客户端IP
160 5
|
3天前
|
域名解析 弹性计算 应用服务中间件
基于nginx反向代理实现OSS固定域名IP访问
本文基于阿里云OSS手册:https://help.aliyun.com/zh/oss/use-cases/use-an-ecs-instance-that-runs-centos-to-configure-a-reverse-proxy-for-access-to-oss,继续深入讨论如何利用nginx反向代理,实现固定的IP/域名访问OSS bucket。官方文档能够解决大部分的反向代理固定IP访问oss bucket的场景,但是对于必须使用域名作为endpoint的系统,会出现signatrue鉴权问题。本文继续在官方文档的基础上,将反向代理需要域名作为endpoint的场景补齐方案。
|
4天前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
8 0
|
10天前
|
监控 数据可视化 安全
如何查找访问 Nginx 的前 10 个 IP?
【5月更文挑战第1天】
24 1
如何查找访问 Nginx 的前 10 个 IP?
|
23天前
|
Ubuntu 应用服务中间件 Linux
nginx 配置代理ip访问https的域名配置
nginx 配置代理ip访问https的域名配置
|
1月前
|
域名解析 Ubuntu 应用服务中间件
Nginx实现虚拟主机
Nginx实现虚拟主机
|
2月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
49 0
|
6月前
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
215 0