Nginx学习系列四——nginx虚拟主机

假设现在有这么一个场景,你有多套业务场景需要对应多个nginx来实现,这个时候,你或许会选择这样一个搭建形式:

        服务器1 ———— nginx1 ———— 业务服务1

        服务器2 ———— nginx2 ———— 业务服务2

        服务器3 ———— nginx3 ———— 业务服务3

这种配置方式貌似可以解决你的问题,但是呢,这种配置方式会造成大幅度的浪费,这个时候,便有nginx虚拟主机配置方式的出现了。

1、什么是虚拟主机

       虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP地址、文件存储空间、内存、CPU时间等)。(来源于https://cloud.tencent.com/developer/article/1339492

2、Nginx实现基本流程

             虚拟主机1 ———— 业务服务1

nginx    虚拟主机2 ———— 业务服务2

             虚拟主机3 ———— 业务服务3

就是:在一个nginx上运行多套单独的业务服务,这些服务相互独立,互不影响。

3、三种实现方式

(1)基于主机的多IP方式

          基于主机多IP的实现方式,也就是利用nginx分别监听不同的一个IP地址从而达到不同的请求转发

        IP                                                      Nginx

192.168.1.1                         IP1 192.168.1.1      虚拟主机A

192.168.1.2      ————>  IP2 192.168.1.2      虚拟主机B

192.168.1.3                        IP3 192.168.1.3       虚拟主机C

        1、多网卡多IP方式(一个网卡对应一个IP)

 

        2、单网卡多IP方式(一个网卡对应多个IP)

 

(2)基于端口的配置方式

        IP                                                  Nginx

192.168.1.1:80                      端口1 80      虚拟主机A

192.168.1.1:81     ————> 端口2 81      虚拟主机B

192.168.1.1:82                      端口3 82       虚拟主机C

(3)多域名方式(多host方式)

        IP                             Nginx

host1                      host1      虚拟主机A

host2     ————> host2      虚拟主机B

host3                      host3       虚拟主机C

4、具体实现

(1)基于主机的多IP方式

主机多IP的配置方式很简单:

ps:这种方式对主机要求较高,需要你有多个网卡。

1、实现单个网卡,多个IP的绑定

ip a 查看网卡与IP的绑定

添加ip到你的设备上 ip a add 192.168.3.xxx/掩码 dev eth0

然后完成nginx配置:

检查是否正确:nginx -tc /etc/nginx/nginx.conf

先停止:nginx -s stop -c /etc/nginx/nginx.conf

再重启:nginx -c /etc/nginx/nginx.conf

(2)基于端口的配置方式

这种方式跟上一种方式差不多,只是listen 监听的不是IP而是端口。

注意不要发生端口冲突占用(ss -luntp)

(3)多域名方式(多host方式)

其实这种方式跟上面的也差不多少,就是需要修改server_name 指定到你想要请求的域名上

可以通过修改host文件来完成域名的一个模拟 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值