Linux -- 进阶 Web服务器 虚拟主机 --- 基于 IP 地址

news2024/12/22 19:28:55

虚拟主机

一个Web 服务器,如果只能运行一个网站的话,那么对于一些经费不是很足的小公司来说,那就

有些奢侈了,资源没有办法完全利用上 ( 无论是 内存,CPU,硬盘,带宽等等 ) 

        即 如果每台运行 Linux 系统的服务器上只能运行一个网站,那么,人气低,流浪小的草根网

        站就会被迫承担高昂的服务器租赁费用了,这显然会造成硬件资源的浪费。 

        这些浪费的资源呢,如果没浪费的话,它用处可太多了,怎么着也比浪费了强啊

        ===>>>

                   哪怕把这些资源租给别人用呢,或者 ,也可以架设其它的网站同时给用户服务 ~!

         所以,为了避免浪费这些资源,无论是 硬件资源 还是网络资源、软件资源 的浪费,

         所以, Apache 提供了 虚拟专用服务器  ( VPS )~!!

                     ===>>>

                              虚拟专用服务器 它的主要作用就是通过一些方式 进行 一些 隔离 ,

                              比如说 :  通过物理状态 或者 软件状态 将一个 物理上的计算机 虚拟成

                                                多个逻辑上的计算机  有点像 VMware ; 

                                                那就是说,以前 一台物理机 运行一个网站,而现在用 虚拟专用服

                                                务器 就可以把 这个物理计算机 虚拟出来多个 虚拟主机 ,每个虚拟

                                                主机就可以专门架设运行网站。

                                                换句话说,一个物理机可以应用多个网站,这样就可以充分利用计

                                                算机的硬件、软件资源、带宽等资源了 ~!! 

               那么,怎么把 物理的计算机 虚拟成  多台逻辑上的虚拟主机 继而架设成多个网站呢 ??

               ===>>>

                        这就是我们 虚拟主机 搭建的几种方式了 

                        (  基于 IP  , 基于 端口号 ,  基于 域名  )

                        Apache 的虚拟主机功能是服务器基于用户请求的不同 IP 地址、 主机域名 或 端口

                       号,实现提供多个网站同时为外部提供访问服务的技术,也就是说用户请求的资源

                       不同,最终获得的网页内容也是不同的 ~!!!!    

                                  

基于 IP 地址  : 

          #  基于 IP 地址来进行虚拟主机的架设 

  原理 : 

               #  如果 一台服务器 上 有多个 IP 地址,而且每个 IP 地址与 服务器上部署的每个网站

                   一 一 对应,当用户请求的 IP 地址不同则会访问到不同网页,且每个网站都有一个

                   独立的 IP 地址 。

                 ( 当然了,首先是 服务器上 有多个 IP 地址 ) 

                  ===>>>

                 

                 显然,我们示例的服务器 只有一个 IP 地址 ,是不满足我们的实验要求的~!!

                 所以,我们还得给 我们的设备 添加 一些 IP 来满足 实验要求 。

                 ( 主机可以有多个 IP 地址,但 IP 地址 只能对应于一台 主机

准备工作

             #     关闭 SELinux 及防火墙 

[root@server ~]# setenforce 0

                 关闭防火墙 

[root@server ~]# systemctl stop firewalld 

                给网卡添加 两个 IP 地址 

                    那在这里我们也复习下,给网卡添加 IP 地址的方式有哪些 ?? 

                    ===>>>

                    总体上概括 : 有三种 

                            1.  图形化 --- nmtui  

                            2.  命令 ---  nmcli  

                            3.  配置文件 

                    我们在这里就用命令的方式进行 添加  IP 

                   ===>>>

[root@server ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.153.134/24 
[root@server ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.153.135/24 

                     我们使用 nmcli 命令进行了 IP 地址的添加 。

                      添加完成后,我们再使用  ip   a 命令查看下,我们添加后的 ip  地址 

                     

                     我们发现了什么,欸 ???     咋不见新添加的 IP  呢 ??? 

                      这是为什么 ?? 

                      ====>>>>

                              要清楚,只要对 网卡什么的进行了 修改,那你就得重新加载呀 ~!!!

                               你只是添加了 IP ,但你并没有重新加载,所以还是显示的原来的配置~!

                      ===>>>

[root@server ~]# nmcli c reload 
[root@server ~]# nmcli c up ens160

                      

                       显然,我们重新加载后,重新启动了 网卡;

                       再查看 IP  就显示了 我们  新添加的 IP 了~!!!

                 安装 Apache  

[root@server ~]# dnf install httpd -y 

             #    新建网页目录上传网页文件  

                   因为,我们是基于 IP 地址的不同来 访问不同的网页,所以,我们肯定得有这样的网页

                   区进行访问啊~!

                   先创建两个目录 

[root@server ~]# mkdir -p /www/ip134
[root@server ~]# mkdir -p /www/ip135

                   然后,把事先准备好的 网页源文件 上传到 刚才创建的两个目录下 

                   ===>>>

                   

                   这是把一个网页的源文件 传到  /www/ip134  目录下了,就是待会儿,访问这个网页,

                   就用 ip 是 192.168.153.134 这个 IP 进行访问 ~!!!!

                   

                    这是把 另一个网页源文件 传到 /www/ip 135 目录下了,待会儿访问这个网页的内容

                     那访问的 IP 就是 192.168.153.135 这个 IP 了~!!

修改配置文件 建立基于IP 虚拟主机 :          

[root@server ~]# vim /etc/httpd/conf/httpd.conf

           打开 Apache 的主配置文件 ,然后进行 文件修改部分内容  

           ===>>>

           

            打开文件后,直接定位到 107 行 ,是区域配置,当前的 107 行显示的是 对根目录用户的

            权限设置; 我们需要进行的操作是,直接把 红色圈 标记的 内容全部删除掉 ( 107 - 110);

            然后再 在 107 行 作为起始行,编写 虚拟主机的配置 ~!!

            ===>>>

            

            上图就是我们将原来的 107 行 至 110 行 删除后,再编辑的 虚拟主机配置 ~!

            我们再对上图做以解释 : 

             ===>>>                  

<VirtualHost 192.168.153.134>              # 虚拟主机区域配置
        DocumentRoot /www/ip134            # 启动目录设置
        ServerName 192.168.153.134         # 服务器主机名,可暂用 ip 替代
        <Directory /www/ip134>             # 网页目录权限设置,就是要给哪个目录设置权限  
                AllowOverride none
                Require  all  granted      # 表示允许访问 --  granted 
        </Directory>
</VirtualHost>

      这是对 我们基于 IP 里的第一个 IP -- 192.168.153.134  ,同理 192.168.153.135 配置一样

      

     红色标记 是 针对 IP 192.168.153.135 的配置 ~!!

     配置的解释 和 134 是一样的,不做赘述,其实,无非是改了 IP 而已 ~!! 

     至此呢,我们基于 IP 地址的虚拟主机 就 配置完成了; 

     随后将 文件保存 ,然后 重新启动 Apache 服务 

     ===>>>

[root@server ~]# systemctl restart httpd

     重启服务后,在浏览器进行验证即可 ~~!!!

      

     验证  :      

          基于 IP 为 192.168.153.134  访问网站 

      

           基于 IP 为 192.168.153.135  访问网站         

           

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络常用命令汇总】ping和ipconfig命令、nslookup命令、netstat和tracert命令、route和arp命令详解(附图详解)

【写在前面】由于考试将近我也是临时抱个佛脚&#xff0c;之前对网络这块的概念真的只是停留在大学里面学的计算机网络&#xff0c;但是当时并没有接触这些实在的东西&#xff0c;也就只有工作后才会去想那么多&#xff0c;比如网络连通性ping一下就知道&#xff0c;其他的更不…

第07讲:Java High Level Client,读写 ES 利器

SkyWalking OAP 后端可以使用多种存储对数据进行持久化&#xff0c;例如 MySQL、TiDB 等&#xff0c;默认使用 ElasticSearch 作为持久化存储&#xff0c;在后面的源码分析过程中也将以 ElasticSearch 作为主要存储进行分析。 ElasticSearch 基本概念 本课时将快速介绍一下 E…

【类和对象完结篇】

目录 ❀初始化列表 构造函数体赋值 初始化列表 ❀explicit关键字 ❀static成员 什么是static成员&#xff1f; 特性 ❀友元 友元函数 友元类 ❀内部类 ❀理解类和对象 &#x1f340;​​​​​​​​​​​​​​小结&#x1f340; &#x1f389;博客主页&#xf…

linux环境安装使用mysql详解

01-安装MySQL并启动 1.1 环境准备 # 1.卸载mariadb&#xff0c;否则安装mysql会出现冲突 &#xff08;1&#xff09;.执行命令rpm -qa | grep mariadb 会列出所有被安装的mariadb rpm 包&#xff1b; &#xff08;2&#xff09;.执行命令rpm -e --nodeps mariadb-libs-5.5.56…

super_排列组合lesson08易错题记录

此题用插空法解决&#xff1a;这个是组合的问题&#xff0c;总共10个学生&#xff0c;要分配到7个班级里&#xff0c;也就是要把这十个学生分为7部分&#xff0c;如果让学生们站在一起&#xff0c;就是在9个空位中插入6块木板&#xff0c;也就是C(9,6)也就是84 此题用捆绑法解决…

[Java进阶] 线程池详解

文章目录 前言1. 线程池的作用2. 线程池的应用3. 标准库中创建线程池的方式 前言 本文介绍线程池的作用和实现方法. 1. 线程池的作用 1.我们知道,线程的作用是由于进程的创建和销毁需要分配和回收资源,开销较大.而线程是"轻量级进程",创建销毁更高效. 2.线程池,比线…

汽车发动机点火性能测试仪设计

汽车发动机的点火系统包括上百种电气和机械零部件&#xff0c;生产线分布较广&#xff0c;因此分布式间接监控方式在点火系统的监测与故障诊断系统中得到广泛应用。发动机点火性能测试仪通过测量发动机的闭合角与分火角&#xff0c;对其分电器和点火器性能进行分析。 闭合角、分…

Python接口自动化测试实战系列

本节内容 接口及接口测试 网络基础知识&#xff1a;IP,域名, DNS及端口 网络基础知识&#xff1a;OSI七层模型及TCP协议 HTTP协议 接口及接口测试 这里插播一个段子 上图中&#xff0c;程序员口中提到的接口是什么意思呢&#xff1f; 手机壳有没有颜色这个属性&#xff0…

安全渗透工程师入门最快需要多久?提供具体路线和学习框架

前言 网络渗透这个东西学起来如果没有头绪和路线的话&#xff0c;是非常烧脑的。最快达到入门也要半年 理清网络渗透学习思路&#xff0c;把自己的学习方案和需要学习的点全部整理&#xff0c;你会发现突然渗透思路就有点眉目了。 网络安全好混&#xff0c;但不容易混得好。…

【顶配快速排序】CUTOFF配合三点中值法的三路划分

目录 1引入情境2 形式化描述2-1递归结构2-2 一次划分2-3 C实现 3 在工程中的改进3-1 处理重复元素双向划分三路划分C 实现 3-2 最差情况的改进三点中值法随机选择pivot短序列切回插入排序 4 全部改进技术加持 1引入情境 从低到高排成一队&#xff0c;怎么办&#xff1f; 以大雄…

RIME协议栈解读

// 新坑–contiki rime简介 rime类似于TCP/IP协议栈&#xff0c;属于分层结构。图片来自Adam Dunkels本人的rime论文介绍。 abc为anonymous broadcast&#xff0c;匿名广播。即将数据包通过无线射频驱动(radio driver)发出去&#xff0c;接收来自无线射频驱动所有的包并交给…

四月成功上岸阿里,年后准备了两个月,要个21k应该不过分吧~

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;阿里的游戏专场又是最早开始的&#xff0c;就投递了&#xf…

[JAVA数据结构]希尔排序/缩小增量法

前置内容&#xff1a;[JAVA]直接插入排序_HY_PIGIE的博客-CSDN博客 希尔排序&#xff0c;是将一个数组分成多组&#xff0c;在每一个组内进行排序。每进行一次排序&#xff0c;组中的元素都会增多&#xff0c;组数减少。 在组内进行直接插入排序 组数以/2的形式减少 例入&#…

离散Markov Chain序列及可视化

离散Markov Chain序列及可视化 文章目录 离散Markov Chain序列及可视化[toc]1 天气预测2 赌徒问题 1 天气预测 假设仅存在三种天气&#xff1a;晴天、阴天和雨天&#xff0c;每种天气状态构成的系统满足(齐次)马氏链过程&#xff0c;即下一期的天气状态仅取决于当前的天气状态…

网络安全是什么?如何成为一位优秀的网络安全工程师?

网络安全是什么&#xff1f; 首先说一下什么是网络安全&#xff1f; 网络安全工程师工作内容具体有哪些&#xff1f; 网络安全是确保网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而受到破坏、更改、泄露&#xff0c;系统连续可靠正常地…

idea部署tomcat(偏小白向)

目录 一、环境部署 1.安装idea ultimate任意版本 2.java稳定的版本如&#xff1a; 3.apache-tomcat任意版本&#xff0c;需要考虑兼容性&#xff0c;大家可以百度一下 二、部署简单的javaweb环境 总结 1.第一个问题 2.第二个问题 一、环境部署 1.安装idea ultimate任意版本…

Debian 11安装mysql 5.7.41

Debian 11安装mysql 5.7.41 1、下载mysql安装包2、安装文档2.1、安装依赖包2.2、安装MySQL包2.2.1、预设值数据库参数2.2.2、安装MySQL包 2.3、文件安装位置 3、使用mysql 5.7.41 数据库3.1、命令行登录MySQL 5.7.41 数据库3.2、navicat连接mysql 5.7.41 数据库3.2.1、修改mysq…

UWB技术开发的定位系统源码,高精度人员定位系统源码,室内定位系统源码人员定位/车辆定位/物品定位/材料定位

UWB技术定位系统源码&#xff0c;高精度人员定位系统源码&#xff0c;智慧工厂人员定位系统源码&#xff0c;室内定位系统源码 技术架构&#xff1a;单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 开发语言&#xff1a;java 开发工具&#xff1a;idea 、VS Code…

操作系统:12 线程竞争与线程池

1 基本概念 ① 竞争与同步 同一个进程中的线程能够共享进程中的绝大多数资源&#xff0c;当他们随意竞争时可能会导致共享资源被破坏、脏数据、不完整、不一致等问题 通过一些方法让进程中的线程在竞争资源时相互协调&#xff0c;避免出现以上问题&#xff0c;这种手段就称为线…

5月11日作业

思维导图 作业&#xff1a; 作业1&#xff1a; 作业2&#xff1a; 作业3&#xff1a; 作业4&#xff1a; 作业5&#xff1a;