Nginx专题-基于多网卡的主机配置

文章目录

  • Nginx 基于多网卡的主机实现
    • 一、虚拟机前置环境准备
      • `ifcfg-ens32`配置文件的内容参考
      • `ifcfg-ens33`配置文件的内容
    • 二、案例演示
      • 修改nginx.conf配置文件
      • 解决中文乱码

Nginx 基于多网卡的主机实现

在这里插入图片描述

一、虚拟机前置环境准备

点击虚拟机右下角的 红色标框按钮,然后右键设置,在弹框内点击添加按钮,选择网络适配器,点击完成,然后选择刚添加的网络适配器,右侧选择自定义然后选择net8网卡。我这里是额外添加了2块网卡。建议在操作这种方式之前,先给虚拟机拍摄一个镜像快照,好弄坏了之后可以快速恢复。

在这里插入图片描述 在这里插入图片描述

添加网卡后,可以通过 ip a 看到,多了ens 33 和 ens 34, ensXX 每个人机器可能会不太一样,我原来只有一个ens32。然后我们需要到 /etc/sysconfig/network-scripts 里重新配置一下 ip地址。这里可以直接copy ens32的配置文件,改下内容和ip即可。需要注意,**UUID,新添加的网卡里的文件需要删除。**修改完成后,再刷新一下网络 systemctl restart network(重启网络服务,包括网络接口和网络配置。执行此命令后,系统会停止并重新启动网络服务,使新的网络配置生效。)

[root@localhost network-scripts]#
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f0:d4:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.125.100/24 brd 192.168.125.255 scope global noprefixroute ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::3c1a:3ae7:b89f:526c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:7c:bd:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:7c:bd:25 brd ff:ff:ff:ff:ff:ff
9: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f0:d4:88 brd ff:ff:ff:ff:ff:ff
    inet 192.168.125.3/24 brd 192.168.125.255 scope global noprefixroute dynamic ens33
       valid_lft 1793sec preferred_lft 1793sec
    inet6 fe80::1412:42a9:8970:c761/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
10: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f0:d4:92 brd ff:ff:ff:ff:ff:ff
    inet 192.168.125.4/24 brd 192.168.125.255 scope global noprefixroute dynamic ens34
       valid_lft 1798sec preferred_lft 1798sec
    inet6 fe80::a25d:4f31:41b2:d1bf/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost network-scripts]#
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# ls
ifcfg-ens32  ifdown-ippp    ifdown-sit       ifup-bnep  ifup-plip    ifup-Team          network-functions-ipv6
ifcfg-lo     ifdown-ipv6    ifdown-Team      ifup-eth   ifup-plusb   ifup-TeamPort
ifdown       ifdown-isdn    ifdown-TeamPort  ifup-ib    ifup-post    ifup-tunnel
ifdown-bnep  ifdown-post    ifdown-tunnel    ifup-ippp  ifup-ppp     ifup-wireless
ifdown-eth   ifdown-ppp     ifup             ifup-ipv6  ifup-routes  init.ipv6-global
ifdown-ib    ifdown-routes  ifup-aliases     ifup-isdn  ifup-sit     network-functions
[root@localhost network-scripts]# 
[root@localhost network-scripts]# 
[root@localhost network-scripts]# cp ifcfg-ens32 ifcfg-ens33
[root@localhost network-scripts]# cp ifcfg-ens32 ifcfg-ens34
[root@localhost network-scripts]# ls
ifcfg-ens32  ifdown-bnep  ifdown-isdn    ifdown-Team      ifup-bnep  ifup-isdn   ifup-routes    ifup-wireless
ifcfg-ens33  ifdown-eth   ifdown-post    ifdown-TeamPort  ifup-eth   ifup-plip   ifup-sit       init.ipv6-global
ifcfg-ens34  ifdown-ib    ifdown-ppp     ifdown-tunnel    ifup-ib    ifup-plusb  ifup-Team      network-functions
ifcfg-lo     ifdown-ippp  ifdown-routes  ifup             ifup-ippp  ifup-post   ifup-TeamPort  network-functions-ipv6
ifdown       ifdown-ipv6  ifdown-sit     ifup-aliases     ifup-ipv6  ifup-ppp    ifup-tunnel
[root@localhost network-scripts]# 
[root@localhost network-scripts]# 
[root@localhost network-scripts]# vim ifcfg-ens33
[root@localhost network-scripts]# vim ifcfg-ens34
[root@localhost network-scripts]# 
[root@localhost network-scripts]# 
[root@localhost network-scripts]# 
[root@localhost network-scripts]# systemctl restart network

ifcfg-ens32配置文件的内容参考

复制 ifcfg-ens32 ,给 ifcfg-ens33, ifcfg-ens34. vim 修改里面的 NAME,DEVICE,IP为自己的name,device,ip.然后注意 UUID,新添加的网卡里的文件需要删除。

[root@localhost network-scripts]# 
[root@localhost network-scripts]# cat ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=1dd7cf75-792e-4eb6-b480-e47a69ea352b
DEVICE=ens32
EONBOOT=yes
IPADDR=192.168.125.100
NETMASK=255.255.225.0
GATEWAY=192.168.125.2

ifcfg-ens33配置文件的内容

33 和 34的类似,这里就不给出34的了,需要删除 UUID

[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
EONBOOT=yes
IPADDR=192.168.125.101
NETMASK=255.255.225.0
GATEWAY=192.168.125.2

二、案例演示

修改nginx.conf配置文件

前面添加了 2个新的虚拟网卡,并配置了ip为 192.168.125.101,192.168.125.102. 这里就模拟了 在一个nginx服务里管理,3台不同的服务器。下面是分别监听这3台服务器的 80端口,访问的index页面。

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;

    keepalive_timeout  65;

    #在http段中添加chartset 设置字符集为 utf-8即可对下面的所有虚拟主机生效,不加会有中文乱码问题
     charset utf-8;

    server {
        listen       192.168.125.100;
        server_name  localhost;

        location / {
            root   html/virtual01;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
   server {
        listen       192.168.125.101;
        server_name  localhost;

        location / {
            root   html/virtual01;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  server {
        listen       192.168.125.102;
        server_name  localhost;

        location / {
            root   html/virtual02;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
  • 其实 上面的 server段的虚拟主机的location段 / 的路径是 指代 执行了 ./sbin/nginx -V 下的 --prefix=/opt/software/middleware/nginx-install-1.22.1, 因此 root 路径里的就是指 /opt/software/middleware/nginx-install-1.22.1/html/virtual01, index 就是指 index首页。

  • nginx默认的首页就是在html/index.html, 我这里为了更深刻的理解它的路径,更换成了自己的文件夹/opt/software/middleware/nginx-install-1.22.1/html/virtual01/index.html

  • 根据上面的 conf文件里的配置,当我访问 192.168.125.100 和 192.168.125.101 时,它会监听到80端口被访问,然后返回 /opt/software/middleware/nginx-install-1.22.1/html/virtual01/index.html 也就是 返回: 你好我是虚拟主机1。访问 192.168.125.102时,返回 /opt/software/middleware/nginx-install-1.22.1/html/virtual01/index.html 也就是 返回: 你好我是虚拟主机2

[root@localhost nginx-install-1.22.1]# 
root@localhost nginx-install-1.22.1]# pwd
/opt/software/middleware/nginx-install-1.22.1
[root@localhost nginx-install-1.22.1]# 
[root@localhost nginx-install-1.22.1]# 
[root@localhost nginx-install-1.22.1]# ./sbin/nginx -V
nginx version: nginx/1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
configure arguments: --prefix=/opt/software/middleware/nginx-install-1.22.1
[root@localhost nginx-install-1.22.1]# 
[root@localhost nginx-install-1.22.1]# cat html/virtual0*/index.html
<h1> 你好我是虚拟主机1</h1>
<h1> 你好我是虚拟主机2</h1>

在这里插入图片描述

解决中文乱码

在http段中添加chartset 设置字符集为 utf-8即可对下面的所有虚拟主机生效

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式 -- 迭代器模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

Java的对象克隆

本节我们会讨论 Cloneable 接口&#xff0c;这个接口指示一个类提供了一个安全的 clone() 方法。 Object 类提供的 clone() 方法是 “浅拷贝”&#xff0c;并没有克隆对象中引用的其他对象&#xff0c;原对象和克隆的对象仍然会共享一些信息。深拷贝指的是&#xff1a;在对象中…

关于Netty使用中黏包拆包带来报错问题及解决

文章目录 问题现象解决总结 问题现象 业务场景&#xff1a;雷达作为客户端&#xff0c;平台作为服务端&#xff0c;采用TCP/IP协议的socket连接&#xff0c;数据包采用字节的二进制数据传输平台与雷达的通信和数据解析&#xff0c;在我接手时&#xff0c;已经开发完成&#xf…

如何开发一款用户体验优秀的语音交友app?

在数字时代&#xff0c;人们越来越依赖智能手机上的应用程序来与他人进行交流。其中&#xff0c;语音交友app成为了最受欢迎的应用之一。然而&#xff0c;开发一款成功的语音交友app需要深入了解用户需求与体验。本文将探讨如何开发一款用户体验优秀的语音交友app。 着眼于用户…

文心一格,百度AI作画产品

文章目录 AIGC什么是AI作画&#xff1f;Prompt文心一格使用方法注册账号使用AI绘图 AIGC的未来发展结语 AIGC AIGC&#xff08;AI Generated Content&#xff09;是指利用人工智能生成内容。是利用人工智能来生成你所需要的内容&#xff0c;GC的意思是创作内容。与之相对应的概…

Linux-驱动开发-基础温习

一、裸机开发和驱动开发的区别&#xff1a; 裸机开发&#xff1a;底层&#xff08;相对于linux来说&#xff09;&#xff0c;库 二、linux驱动开发-根据各种框架进行开发 1、 外设比较多&#xff0c;资源多&#xff0c;资料非常少&#xff0c;官方的SDK;直接操作寄存器不显示…

JUC高级十二-ReentrantLock、ReentrantReadWriteLock、StampedLock

无锁→独占锁→读写锁→邮戳锁 1. 关于锁的大厂面试题 你知道Java里面有哪些锁?你说你用过读写锁&#xff0c;锁饥饿问题是什么&#xff1f;有没有比读写锁更快的锁&#xff1f;StampedLock知道吗?(邮戳锁/票据锁)ReentrantReadWriteLock有锁降级机制策略你知道吗&#xff1…

ChatGPT | 申请与使用new bing的实用教程

1. 教程参考&#xff1a; https://juejin.cn/post/7199557716998078522 2.在参考上述教程遇到的问题与解决 2.1 下载dev浏览器的网址打不开 egde dev下载地址&#xff08;上面网站上的&#xff09;我电脑打不开 换用下面的网址即可 https://www.microsoftedgeinsider.com/z…

九种 OOM 常见原因及解决方案(IT枫斗者)

九种 OOM 常见原因及解决方案(IT枫斗者) 什么是OOM&#xff1f; OOM&#xff0c;全称“Out Of Memory”&#xff0c;翻译成中文就是“内存用完了”&#xff0c;来源于java.lang.OutOfMemoryError。看下关于的官方说明&#xff1a;Thrown when the Java Virtual Machine canno…

代码随想录算法训练营第三十六天|435. 无重叠区间、763.划分字母区间 、56. 合并区间

文章目录 重叠问题435. 无重叠区间763.划分字母区间:star:56. 合并区间 重叠问题 这几道题都是判断区间重叠&#xff0c;区别就是判断区间重叠后的逻辑。 435. 无重叠区间 链接:代码随想录 解题思路&#xff1a; 这道题和射气球的题几乎思路一样 不断求出重叠的最小右区间&a…

通俗讲解什么是Socket通讯

Socket通讯原理 1、什么是Socket&#xff1f; Socket&#xff0c;即套接字。就是两台主机之间逻辑连接的端点。&#xff08;通俗来说&#xff1a;网络上的两个程序通过一个双向的通信连接实现数据的交换&#xff0c;这个连接的一端称为一个socket&#xff09;。 Socket是一套…

CSS基础——盒子模型

目录 简介 盒子模型组成 内容区 内边距 边框 border-width border-color border-style border 外边距 负值 auto 简写属性 垂直外边距的重叠 浏览器默认设置 内联元素的盒子 简介 在网页中&#xff0c;一切都是可以看作为“盒子”。 在css处理网页的时候&…

常见的四种排名函数的用法(sql)

四个排名函数&#xff1a; 1.row_number 2.rank 3.dense_rank 4.ntile 1. ROW_NUMBER&#xff08;排名场景推荐&#xff09; 1.1 介绍 在 SQL 中&#xff0c;ROW_NUMBER() 是一个窗口函数&#xff0c;它为结果集中的每一行分配一个唯一的序号。该函数的语法如下&#xff1a; …

内网穿透实现在外远程连接RabbitMQ服务

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 转载自远控源码文章&#xff1a;无公网IP&#xff…

srm采购管理系统有那些功能

srm采购管理系统&#xff0c;是通过系统的手段对采购过程进行管理和控制&#xff0c;实现降低成本、提高效益、提高企业核心竞争力的目的。那么 srm采购管理系统有哪些功能呢&#xff1f; 计划管理 srm采购管理系统提供了各种物料需求计划的功能&#xff0c;以帮助企业制定并控…

设置环境变量

文章目录 window设置linux设置python设置 window设置 命令行设置 set 临时设置setx 永久设置 # 打开一个cmd命令行 set # 查看所有环境变量 set FLASK_APPsuperset # 临时设置&#xff0c;当前窗口有效 set FLASK_APP%FLASK_APP%;777 # # 查看 echo %FLASK_APP%# 永久设置…

k8s安装部署apollo配置中心

一、文章大纲 二、安装MySQL5.7 三、创建apollo-config 四、创建apollo-admin 五、创建apollo-portal 六、查看apollo各个组件服务状态 七、访问apollo 八、nginx代理配置转发#注意 一定要先启动apollo-config&#xff0c;再启动apollo-admin&#xff0c;最后启动apollo-porta…

matrix部署

一、环境描述 首先matrix是一个去中心化的聊天服务&#xff0c;matrix实现了端对端的加密&#xff0c;这意味着不仅其他人无法查看你的聊天内容&#xff0c;哪怕你更换了一个终端&#xff0c;你也需要私钥才能够查看你的聊天记录。 这是终极的隐私保护方案&#xff0c;因为一旦…

深入理解机器学习——过拟合(Overfitting)与欠拟合(Underfitting)

分类目录&#xff1a;《深入理解深度学习》总目录 机器学习的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好&#xff0c;而不只是在训练集上表现良好。在先前未观测到的输入上表现良好的能力被称为泛化&#xff08;Generalization&#xff09;。通常情况下&…

20、单元测试

文章目录 1、JUnit5 的变化2、JUnit5常用注解3、断言&#xff08;assertions&#xff09;1、简单断言2、数组断言3、组合断言4、异常断言5、超时断言6、快速失败 4、前置条件&#xff08;assumptions&#xff09;5、嵌套测试6、参数化测试7、迁移指南 【尚硅谷】SpringBoot2零基…