Linux -- 进阶 Web服务器 虚拟主机 -- 基于端口号

news2025/2/22 14:33:48

虚拟主机

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

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

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

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

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

        ===>>>

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

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

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

                     ===>>>

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

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

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

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

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

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

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

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

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

               ===>>>

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

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

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

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

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

                           

基于端口

    原理 : 

             #   基于端口号的虚拟主机功能可以让用户通过指定端口号访问服务器上的网站资源

                  既然是 基于端口号,那咱就复习下, 那端口号作用于 TCP/IP 的那一层 ?

                  ===>>>

                                        端口号 是 基于传输层的~!!!

    准备工作

                  我们先恢复快照,然后进行预处理准备工作 ( 其实,和前面的预处理没啥区别 )

              #  关闭  selinux  以及防火墙              

[root@server ~]# setenforce 0 
[root@server ~]# systemctl stop firewalld 

               安装 Apache 

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

             #   新建两个 目录 , 并使用 xftp 上传 两个 网页源文件 

[root@server ~]# mkdir -pv /www/port{5111,5222} 

                     创建两个目录 分别为  port5111,  port5222   

                      意思是我们基于的端口号分别为5111,5222 

                      端口号,它的范围是 0-65535,我们用的端口号是 5111,5222 因为这两个端口号

                      都是高端口号,就是不常用的端口号,所以这两个数字都比较大。

                      -p 选项为 递归创建, -v 显示详细过程信息  

                      上传网页源文件的时候也要注意是直接把 网页源文件 上传过去 ~!!!

                      至此,我们的主备工作就进行完毕了 ~!!!

                      先提问一个问题,基于目前状态,我们的 IP 是有几个 ?? 一个 还是 两个 ?? 

                      我们前面的 基于IP 进行虚拟主机搭建,是专门添加了 两个 IP 

                      而现在,我们已经恢复了快照,所以,之前所有的配置都回归了原样,

                      所以我们现在的IP 只有一个。 

                      我们现在是 要基于 端口 进行虚拟主机配置,所以,我们不需要再添加 IP ,就基于

                      这一个 IP ;   我们是基于这一个 IP 再分支成两个不同的端口号,从而映射两个网站

                      我们要知道 IP 是区分网络连接的,端口号是区分 服务的; 

                       我们打开 httpd 的主配置文件              

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

                       添加两个端口 : 

                      

                      主配置文件本身是 Listen 监听的80 端口 ,我们在后面进行添加即可 ~!

                     我们在 httpd 主配置文件进行 虚拟主机配置 

                     

             : 在这里需要知会一声的是,我们在前面 基于 IP 进行的虚拟主机配置,我们在 

                     Apache 的主配置文件里 我们是把 107-110 行删除了的( 也就是上图的 109-

                    112行)的内容 ,其实呢,这块儿的配置内容不删也行 ~!!!

                             

                    因为这个区域配置的目的是 限定根目录的访问权限 ,你可以看到上图中的 权

                    限那里显示的是 denied  (  就是否定,就是没有权限来访问 根目录 )  

                    其实,不删反而还是好的,因为害怕用户访问到你的主机之后进行了提权操作( 就

                   是 执行了 cd ..  即 返回上一级 ), 由于你只限定了某个目录比如说 /etc/mulu 这个目

                   录,在把对根目录的限定删除后,而现在对/etc/mulu进行限定的话,用户访问到该目

                   录后,一旦用户执行了 cd ..  这意味这啥,意味着用户访问到了 上一级,而上一级是

                   啥?  是根目录( 而你已经把对根目录的限定删除了 ) 

                   所以说,现在意味着啥,意味着用户可以访问整个服务器的所有权限,后果非常害

                   怕,因此,一般来讲 我们不应该删除 对根目录的限定。  

                   所以,第 109 行 到 112 行 应当保留 ~!!!!!!!!!!  

                             

                    对上面虚拟主机配置各项内容进行解释 

                    ===>>>

<VirtualHost 192.168.153.130:5111>     # 虚拟主机配置起始, 注意这里是 IP:端口号
        DocumentRoot /www/port5111     # 启动目录 
        ServerName   'www.sxhkt.com'   # 我们说的域名,这里域名随便写,因为我们也不用
        <Directory /www/port5111>      # 区域配置,目录权限 
                AllowOverride None     # 禁止其它权限文件覆盖当前文件
                Require all granted    # 权限是允许 
        </Directory>                   # 区域配置结束 
</VirtualHost>                         # 虚拟主机配置结束 

                     

                    重启 Apache 服务 

[root@server ~]# systemctl restart httpd

             验证 : 

              

                这是基于 端口号为 5111 来验证的虚拟主机,结果显示出了 网页页面,说明我们通过 端

                口号来访问是成功的 ~!!

               我们还有一个 端口号 是 5222, 那我们接下来就用 5222 端口号来进行 验证  : 

               

       上示 也写了 www.zy.com  这个域名也没用,用不了,只是写上,说明此处应该写的是域名

               验证  : 

               

               我们进行验证 ,显示出网页,即说明端口号访问成功 ~!!!!

       

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

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

相关文章

EIScopus检索 | 2023年智能交通与未来出行国际会议(CSTFM 2023)

会议简介 Brief Introduction 2023年智能交通与未来出行国际会议(CSTFM 2023) 会议时间&#xff1a;2023年7月28日-30日 召开地点&#xff1a;中国长沙 大会官网&#xff1a; CSTFM 2023-2023 International Conference on Smart Transportation and Future Mobility(CSTFM 202…

OpenCL编程指南-3.3矢量数据类型

矢量数据类型 OpenCL C还增加了对矢量数据类型的支持。矢量数据类型如下定义&#xff0c;首先是类型名&#xff0c;具体包括char、uchar、short、ushort、int、uint、float、long或ulong&#xff0c;后面是一个字面值n来定义矢量中的元素个数。对于所有矢量数据类型&#xff0…

母亲节快到了,祝所有母亲节日快乐!Happy Mother‘s Day

《游子吟》唐孟郊 慈母手中线&#xff0c;游子身上衣。 临行密密缝&#xff0c;意恐迟迟归。 谁言寸草心&#xff0c;报得三春晖。 My kind mother has a needle and thread in her hand,Making new clothes for her son who is to travel far away. She is busy sewing c…

FE_Vue学习笔记 Vue监视数据的原理

1 通过更新时的一个问题-this.personList[0] { 更新值 } 不起作用 引入 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script type"text/javascript" src"…

每日一博 - 闲聊“突发流量”的应对之道

文章目录 概述思路 概述 面对“突发流量”的情况,我会采取以下应急措施: 扩容现有资源。这是最直接和最常用的方法。可以通过增加CPU、内存、节点等来扩容。典型案例是双11等大促期间,阿里会大规模扩容幕布等系统以应对流量激增。横向扩展,增加更多服务器或节点。通过增加服务…

lambda处理异常四种方式

最近对接第三方呼叫系统&#xff0c;第三方SDK的所有方法里都有异常抛出&#xff0c;因为用到了lambda&#xff0c;所以异常处理还是很必要的。 本文主要用到了四种解决方案&#xff1a; 直接代码块处理自定义函数式接口&#xff0c;warp静态方法通过Either 类型包装通过Pair 类…

目前收集到好用且免费的ChatGPT镜像站

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术&#xff0c;包括深度学习和神经网络&#xff0c;以便更好地理解用户的意图和回答用户的问题。 ChatGPT可以回答各种问题&#xff0c;包括但不限于常见问…

Linux——进程信号2

阻塞信号 信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery) 信号从产生到递达之间的状态,称为信号未决(Pending)。 进程可以选择阻塞 (Block )某个信号。 被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作. 注意,阻塞和忽略…

一文4000字用Jmeter +Maven+jenkins实现接口性能全自动化测试

背景&#xff1a; 首先用jmeter录制或者书写性能测试的脚本&#xff0c;用maven添加相关依赖&#xff0c;把性能测试的代码提交到github&#xff0c;在jenkins配置git下载性能测试的代码&#xff0c;配置运行脚本和测试报告&#xff0c;配置运行失败自动发邮件通知&#xff0c…

分布式id解决方法--雪花算法

uuid&#xff0c;jdk自带&#xff0c;但是数据库性能差&#xff0c;32位呀。 mysql数据库主键越短越好&#xff0c;Btree产生节点分裂&#xff0c;大大降低数据库性能&#xff0c;所以uuid不建议。 redis的自增&#xff0c;但是要配置维护redis集群&#xff0c;就为了一个id&a…

【前后端分离博客】学习笔记01 --- 登录模块Sa-Token

前言 用于记录自己学习博客项目的流程 基于Springboot Vue3 开发的前后端分离博客 项目源码&#xff1a;Blog: 基于SpringBoot Vue3 TypeScript Vite的个人博客&#xff0c;MySQL数据库&#xff0c;Redis缓存&#xff0c;ElasticSearch全文搜索&#xff0c;支持QQ、Gite…

20230509MTCNN2

卷积切分图片 怎么切分图片? 使用opencv,PIL切分图片有什么问题? 慢 使用 卷积来切分图片 卷积的运算过程 类似于切图 卷积 对输入图片的尺寸 有没有 的要求? 就是 输入的图片尺寸 必须大于 卷积核的大小 test1.py import torch from torch import nn""&quo…

springboot + vue3实现视频播放Demo

文章目录 学习链接前言ffmpeg安装ffmpeg配置环境变量分割视频文件 后台配置WebConfig 前端代码video.js示例安装依赖视频播放组件效果 Vue3-video-play示例安装依赖main.js中使用视频播放组件效果 学习链接 ffmpeg官网 长时长视频java存储及vue播放解决方法 【 攻城略地 】vue…

BitKeep逆势崛起:千万用户的信任,终点还未到来

在全球范围内&#xff0c;BitKeep钱包如今已拥有超过千万忠实用户。 当我得知这一令人震撼的数字时&#xff0c;既感到惊讶&#xff0c;同时也觉得这是意料之中的事情。几年来关注BitKeep的发展历程&#xff0c;我深切地感受到了这家公司的蓬勃壮大。回顾2018年他们发布的第一个…

linux0.12-8-9-fork.c

[362页] 1、 verify_area函数给其他文件使用的&#xff0c;跳转开始位置&#xff1b; 2、 copy_mem函数复制内存页表&#xff1b; 3、 copy_process函数是fork.c主要函数&#xff1b; 4、find_empty_process函数就2个作用&#xff1a;在一个范围内找last_pid和找空槽&#xff1…

如何利用互联网优势进行茶叶销售?

茶叶是中国传统文化的重要组成部分&#xff0c;具有丰富的文化内涵和高度的营养价值。如今&#xff0c;随着互联网的普及&#xff0c;越来越多的茶叶销售商&#xff08;文章编辑ycy6221&#xff09;开始利用互联网的优势来开拓市场。本文将介绍如何利用互联网优势进行茶叶销售。…

SecureCRT的下载安装

亲测成功了&#xff0c;按照下面的步骤完成即可&#xff01; 下载安工具包包地址连接&#xff1a;网盘地址点击即可 提取码&#xff1a;0lp7 1、下载SecureCRT 2、从百度网盘下载SecureCRT&#xff0c;页面如下 3、安装SecureCRT 4、激活SecureCRT 第一步&#xff1a;打开安装…

自学Java怎么找工作?好程序员学员大厂面试经验分享!

简历要详细&#xff1a; 简历中的项目用到的技术点和个人负责的模块尽量写详细一些。其次&#xff0c;根据自己项目中用到的熟悉的技术点&#xff0c;在个人技能介绍模块去突出&#xff0c;面试官基本会根据你简历上写的去提问的&#xff0c;这样我们回答起来就会更加得心应手。…

【多线程初阶四】单例模式阻塞队列

目录 &#x1f31f;一、单例模式 &#x1f308;1、饿汉模式 &#x1f308;2、懒汉模式&#xff08;重点&#xff01;&#xff09; &#x1f31f;二、工厂模式 &#x1f31f;三、阻塞式队列 &#x1f308;1、阻塞队列是什么&#xff1f; &#x1f308;2、…

如何注册appuploader账号​

如何注册appuploader账号​ 我们上一篇讲到appuploader的下载安装&#xff0c;要想使用此软件呢&#xff0c;需要注册账号才能使用&#xff0c;今​ 天我们来讲下如何注册appuploader账号来使用软件。​ 1.Apple官网注册Apple ID​ 首先我们点击首页左侧菜单栏中的“常见网…