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
目录
相关文章
|
7月前
|
应用服务中间件 nginx
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
|
7月前
|
运维 负载均衡 应用服务中间件
LNMP详解(九)——Nginx虚拟IP实战
LNMP详解(九)——Nginx虚拟IP实战
136 2
|
22天前
|
前端开发 应用服务中间件 定位技术
Nginx 如何代理转发传递真实 ip 地址?
【10月更文挑战第32天】
143 5
Nginx 如何代理转发传递真实 ip 地址?
|
3月前
|
Ubuntu 应用服务中间件 数据库
Nginx配置:阻止非国内IP地址访问的设置方法
此外,出于用户隐私和法律合规性的考虑,应慎重考虑阻止特定国家或地区IP地址的决策。在某些情况下,这可能被视为歧视性或违反当地法律。
172 2
|
4月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
4月前
|
应用服务中间件 持续交付 nginx
[nginx]借助nginx实现自动获取本机IP
[nginx]借助nginx实现自动获取本机IP
|
4月前
|
应用服务中间件 nginx
Nginx——虚拟主机简介
Nginx——虚拟主机简介
65 0
|
4月前
|
应用服务中间件 nginx 数据安全/隐私保护
nginx配置源IP访问控制
nginx配置源IP访问控制
|
6月前
|
Java 应用服务中间件 API
springboot+nginx获取真实IP
springboot+nginx获取真实IP
102 4
|
7月前
|
监控 数据可视化 安全
如何查找访问 Nginx 的前 10 个 IP?
【5月更文挑战第1天】
152 1
如何查找访问 Nginx 的前 10 个 IP?