RHCE---Web 服务器

文章目录

  • 目录

    文章目录

    前言

    一.Web服务器概述

    网址及HTTP协议概述:

     HTTP协议请求过程:

     二.搭建动态HTTP网页

    动态网页概述:

    搭建动态的HTTP协议网页:

    总结


前言

   通过上一个章节的学习了解了时间服务器以及远程连接服务器,上述两种服务器可能比较陌生,然而对于身处于互联网时代的我们,无时无刻不在接触互联网,提到互联网和我们息息相关的莫过于浏览器了,使用浏览器的同时必然绕不开Web服务器,什么是Web服务器呢,接下来让我们了解以下。


一.Web服务器概述

        Web服务器是一种计算机程序,用于从Web浏览器接收HTTP请求并提供响应。它是在Web上发布和提供信息的必需组件之一。它可以是一台专用服务器或运行Web服务器软件的计算机。Web服务器主要有三种类型:Apache、Nginx和Microsoft Internet Information Services(IIS)。这些服务器软件可以在不同的操作系统上运行,如Windows、Linux、Unix等。

网址及HTTP协议概述:

    web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html 。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的。  

URL:

    URL 是 Uniform Resource Locator(统一资源定位器)的缩写,用于指定一种网络上的资源,如网页或文件,以及访问该资源的方式。URL 通常包含以下信息:

  • 协议(Protocol):指定访问该资源的协议,如 HTTP(80端口)、FTP、HTTPS(443端口) 等。
  • 主机名(Host):指定资源所在的主机名或 IP 地址。
  • 端口号(Port):指定用于访问该资源的端口号,如果没有指定端口号,则使用默认端口号。
  • 路径(Path):指定资源在服务器上的路径,表示资源所在的目录或文件名。
  • 查询参数(Query):向服务器传递额外的参数,通常用于指定要请求的资源或信息。

 HTTP协议请求过程:

 客户端在浏览器上输入URL(网址),浏览器根据URL上的主机地址(主机IP地址)寻找服务器,如果是主机名则需要先访问DNS服务器进行DNS解析,DNS服务器返回给给浏览器一个IP服务器IP地址,浏览器再根据此IP寻找服务器建立TCP连接。

当浏览器获得请求服务器的IP地址后,浏览器向服务器发起HTTP请求报文,Web服务器收到该请求后,会根据请求报文中的URL解析出程序端口,再根据端口查询到对应程序,该程序会向浏览器返回一个HTTP响应报文(包含'请求网页的html文件,该文件保存在LIinux服务器 的/var/www/html/index.html 文件中),浏览器收到该响应后解析HTTP响应报文中的html 文件,最终呈现出我们所看见的网页。

 http请求方法

在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文件等。

 常见的状态码:

  • 200 OK:客户端请求成功

  • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解

  • 401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用

  • 403 Forbidden:服务器收到请求,但是拒绝提供服务

  • 404 Not Found:请求资源不存在,举个例子:输入了错误的URL

  • 500 Internal Server Error:服务器发生不可预期的错误

  • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

HTTP报文格式:

HTTP请求报文: 

 HTTP响应报文:

 二.搭建动态HTTP网页

动态网页概述:

使用lamp/lnmp架构

      这种类型的网站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如:PHP网页程序语言,配合数据库系统来进行数据的读、写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变。         

搭建动态的HTTP协议网页:

#安装Apache服务器软件
[root@localhost ~]# yum install httpd -y
#打开红帽软件管理器列出安装httpd所使用的文件
[root@localhost ~]# rpm -ql httpd
[root@localhost httpd]# tree /etc/httpd
  •  关闭防火墙
[root@timeserver ~]# systemctl disable --now firewalld
  • 关闭SElINUX 
[root@timeserver ~]# vim /etc/selinux/config
#查看selinux 修改情况
[root@server html]# getenforce
  •  启动Apache服务器httpd
[root@timeserver ~]# systemctl enable --now httpd
#查看httpd启动情况
[root@timeserver ~]# systemctl status httpd
#查看监听情况
[root@timeserver ~]# netstat -lntup 
  • 上传html文件

首先在桌面创建一个以html结尾的文件,用记事本打开,输入对应内容 以下图为例子:

保存后,切换到 /var/www/html/目录,通过Xftp 7将文件上传到该文件中

 

 此时简单的web服务器搭建完成。可通过浏览器输入HTTP//:+服务器的IP 地址访问 

实验2:建立两个基于ip地址访问的网站,要求如下

  • 该网站ip地址的主机位为100,设置DocumentRoot为/www/ip/100,网页内容为:this is 100。

  • 该网站ip地址主机位为200,设置DocumentRoot为/www/ip/200,网页内容为:this is 200。

 1.配置网站的IP地址

#打开编辑器
[root@timeserver html]# nmtui

#查询虚拟机网关命令
#在虚拟机控制命令界面输入
[zt@timeserver ~]$ nmcli connection show ens160 | grep -i gateway

此时虚拟机IP地址变为 192.168.186.100/192.168.186.200

需要重新建立连接

 2.创建目录

[root@timeserver html]# mkdir -pv /www/ip/{100,200}
#写入内容 this is 100 / this is 200 到对应文件中
[root@timeserver html]# echo 'this is 100' > /www/ip/100/index.html

3.配置虚拟主机

[root@timeserver ~]# vim /etc/httpd/conf.d/ip.conf
#编辑以下内容虚拟出两个网站
<virtualhost 192.168.186.100:80> #80代表端口号
servername 192.168.186.100   #代表服务器 IP地址
documentroot /www/ip/100     
</virtualhost>
#上述内容代表:可通过IP 192.168.186.100 80端口号访问目录 /www/ip/100 的内容
~ <virtualhost 192.168.186.200:80> #80代表端口号
servername 192.168.186.200
documentroot /www/ip/200
</virtualhost> #设置允许规则<directory /www>
allowoverride none 
require all granted  
</directory>       

实验3:建立两个基于不同端口访问的网站,要求如下:

  • 建立一个使用web服务器默认端口的网站,设置DocumentRoo为/www/port/80,网页内容为:the port is 80。

  • 建立一个使用10000端口的网站,设置DocumentRoot为/www/port/10000,网页内容为:the port is 10000。

#创建目录
[root@timeserver ~]# mkdir -pv /www/port/10000
#编辑文件
[root@timeserver ~]# vim /etc/httpd/conf.d/ip.conf
#添加以下内容到文件中
listen 10000
<virtualhost 192.168.186.100:10000>
servername 192.168.186.100
documentroot /www/port/10000
</virtualhost>#重启服务器
[root@timeserver 10000]# systemctl restart httpd

 可通过浏览器输入HTTP//:+服务器的IP:+端口号地址访问 

实验4:建立两个基于域名访问的网站,要求如下:

  • 新建一个网站,域名为www.ceshi.com,设置DocumentRoot为/www/name,网页内容为this is test。

  • 新建一个网站,域名为rhce.first.day,同时可通过ce.first.day访问,设置DocumentRoot为/www/ce,网页内容为:today is first day of class。

当客户端通过域名访问Web主机的时候,会优先查找本地解析文件

C盘  > windows > system32 > drivers > etc > hosts 使用 Visual Studio 打开 

添加如下内容

实验5:基于虚拟目录和用户控制的web网站

Linux中,Web服务器的虚拟目录是指在Web服务器上创建一个或多个虚拟的目录,这些目录与物理路径不同,而是指向Web服务器上已有的某个目录虚拟目录可以在URL上和物理路径上分别有不同的路径名称,以便在Web服务器上的多个站点中实现更好的隔离和管理。虚拟目录可以通过使用Web服务器的配置文件进行设置和管理。例如,在Apache服务器中,可以通过修改httpd.conf文件或通过.htaccess文件来配置设置虚拟目录。

#创建目录
[root@timeserver ~]mkdir /www/xuni
[root@timeserver ~]# echo xuni > /www/xuni/index.html
#编辑文件内容
[root@timeserver ~]# vim /etc/httpd/conf.d/ip.conf
#添加一条内容 alias /virtual /www/xuni <virtualhost 192.168.186.100:80> #80代表端口号
servername 192.168.186.100   #代表服务器 IP地址
alias /virtual /www/xuni     
#代表访问/virtual时自动访问/www/xuni目录里的内容,服务器实际不存在/virtual这个目录                        
documentroot /www/ip/100     #代表网址
</virtualhost>

 设置用户控制

#创建用户服务账号,并非服务账号类似于ACL列表
[root@timeserver ~]htpasswd -c(指定账户存入的文件) /etc/httpd/mima haha
#创建不会覆盖的用户服务账号
[root@timeserver ~]htpasswd /etc/httpd/mima haha
#设置该虚拟目录只有创建的服务账号可以查看
[root@timeserver ~]# vim /etc/httpd/conf.d/ip.conf
#编辑以下内容
<directory /www/xuni>
authtype basic                     #使用基本认证
authname "please login:"           #设置一个登录提示
authuserfile /etc/httpd/mima       #认证的文件
require user haha                  #允许的用户
</directory>


总结

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深信服安全GPT 2.0升级,开启安全运营“智能驾驶”旅程

9月22日&#xff0c;深信服对外展示安全GPT落地成果与2.0升级能力。来自各行业权威嘉宾代表&#xff1a;美的集团首席信息安全官&#xff08;CISO&#xff09;兼软件工程院院长、欧洲科学院院士&#xff08;MAE&#xff09;、IEEE Fellow、IET Fellow、ACM杰出科学家、AAIA Fel…

一个简单的工具,多种用途—J2L3x的优势

J2L3x 是一款流行的团队合作工具&#xff0c;许多组织和公司已经开始使用它来简化和提高沟通和协作的效率。J2L3x 的优势与其多种用途不无关系&#xff0c;下面将详细介绍。 1、实时通信与信息共享 J2L3x 通过实时通信功能&#xff0c;使团队成员随时随地都能保持联系。J2L3x…

向量数据库风起时,闭源「墨奇AI数据库」想成为第三种存在

AI大模型时代下,图片、视频、自然语言等多模态的非结构化数据量陡增,而大模型支持的token数有限,虽然可以在RLHF的配合下具备一定程度的“短期记忆”,但正是因为“长期记忆”的缺失,导致大模型经常会出现“一本正经地胡说八道”的情况。 区别于用来处理结构化数据的传统数…

【unity2023打包安卓工程】踩坑记录

这里写自定义目录标题 踩坑记录使用环境Unity的准备工作Windows10 SDKAndroidstudio第一个需要注意的地方第二个需要注意的地方第三个需要注意的地方第四个需要注意的地方第五个需要注意的地方第六个需要注意的 其他unity启动缓慢 更新更新一 2023.9.27 踩坑记录 踩了快一个星期…

在Vue中通过ElementUI构建前端页面【登录,注册】,在IEDA构建后端实现前后端分离

一.ElementUI组件入门 1.对于ElementUI的理解 是一套基于 Vue.js 的开源UI组件库&#xff0c;提供了丰富的可复用组件&#xff0c;可以帮助开发者快速构建美观、易用的前端界面 2.Element UI 的特点和优势 多样化的组件&#xff1a;Element UI 提供了众多常用的基础组件&#…

全网最牛,Jmeter接口自动化测试从0到1实施步骤(详细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、工具下载 JDK…

uniapp 微信小程序之隐私协议开发

uniapp 微信小程序之隐私协议开发 官网通知&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html 1、配置 __usePrivacyCheck__: true&#xff1b;位置 manifest.json : "mp-weixin":{"__usePrivacyCh…

数据结构:二叉树的基本概念

文章目录 1. 二叉树的定义2. 二叉树的特点3. 特殊二叉树斜树满二叉树完全二叉树 4. 二叉树的性质 1. 二叉树的定义 如果我们猜一个100以内的数字,该怎么猜才能理论最快呢? 第一种方式:从1,2一直猜到100, 反正数字都是100以内,总能猜到的 第二种方式:先猜50,如果比结果小,猜75…

Unity Urp无线延申的网格效果

无线延申的网格 该项目必须是再Urp项目 shader代码实现 Shader "Unlit/infTutorial1" {Properties{_Alpha ("Alpha", Range(0, 0.5)) 0.5}SubShader{Tags{"RenderPipeline""UniversalRenderPipeline""RenderType""…

VMware下的ubuntu虚拟机,实现虚拟机与本地硬盘间的文件互传

本次安装vmware tools工具&#xff0c;以实现二者间的文件互传。 1、打开VMware软件&#xff0c;运行Ubuntu系统虚拟机 安装过程需在ubuntu虚拟机启动的情况下&#xff0c;才能进行安装&#xff1b; 2、安装VMware Tools 在VM主菜单栏中&#xff0c;点击 “虚拟机&#xff0…

Linux ❀ 进程出现process information unavailable时的消除方法

[rootmaster ~]# jps 74963 -- process information unavailable 78678 Jps [rootmaster ~]# cd /tmp/hsperfdata_redhat/ # redhat为启动该java进程的用户ps -ef | grep $pid查找 [rootmaster hsperfdata_redhat]# ll total 32 -rw------- 1 redhat redhat 32768 Sep 27 15:…

使用日志分析工具了解网络情况

日志分析&#xff08;或日志文件分析&#xff09;是检查整个网络中生成的日志数据的过程&#xff0c;日志数据从各种来源生成&#xff0c;包括外围设备、工作站、服务器、应用程序以及其他硬件和软件组件&#xff0c;将它们收集到一个中心位置并进行分析&#xff0c;可以为了解…

深入解析JVM:双亲委派机制的原理与实践

双亲委派机制 引言概述流程工作原理&#xff1a; 优势自定义类加载器实际应用 主页传送门&#xff1a;&#x1f4c0; 传送 引言 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;类加载是一个重要的概念&#xff0c;而双亲委派机制是类加载的核心之一。本文将深入研究双…

写代码生成流程图

我们在写文档&#xff0c;博客的时候&#xff0c;一般都会使用markdown语法&#xff0c;最常见的就是一些github开源项目的README。有时候会去画一些流程图&#xff0c;例如使用process.on或者xmind等第三方网站&#xff0c;然后截图插入到文档中。 今天我们介绍一种使用代码直…

分布式搜索引擎Elasticsearch

一、Elasticsearch介绍 1.Elasticsearch产生背景 大数据量的检索NoSql: not only sql,泛指非关系型的数据库Nginx的7层负载均衡和4层负载均衡2.Elasticsearch是什么 一个基于Lucene的分布式搜索和分析引擎,一个开源的高扩展的分布式全文检索引擎 Elasticsearch使用Java开发…

一次ES检索的性能优化经验记录

优化功能: 统一检索能力&#xff0c;为各服务所调用。 该接口并发压力大&#xff0c;压测效果不理想。 初步2k线程两台压测机预发环境压测结果两pod下为400qps左右&#xff0c;单pod 平均qps200&#xff0c;响应时间在五分钟之后达到了峰值&#xff0c;平响达到几十秒开外。 压…

跨境电商引流之Reddit营销,入门保姆级攻略

在当今竞争激烈的在线市场中&#xff0c;企业不断寻求新的方法来加强其数字营销工作。Reddit 是最受欢迎的社交媒体平台之一&#xff0c;为企业提供了巨大的潜力&#xff0c;可以通过引人入胜且相关的内容来接触目标受众。然而&#xff0c;将 Reddit 用于营销目的需要仔细考虑某…

企业专线成本高?贝锐蒲公英轻松实现财务系统远程访问

在办公及信息系统领域&#xff0c;许多企业纷纷采用金蝶等财务管理软件来提升运营效率。以某食品制造企业为例&#xff0c;该企业总部位于广州&#xff0c;并拥有湖北仙桃工厂、广州从化工厂和湖南平江工厂三大生产基地。为提高管理效率&#xff0c;该企业在广州总部局域网内部…

游戏社区-搭建的目的和意义是什么

在游戏社区中&#xff0c;用户的活跃度指标是至关重要的&#xff0c;因此在必要时&#xff0c;我们会进行指标转化&#xff0c;以丰富的内容形式来促进用户的活跃度&#xff1b;作为一个垂直社区&#xff0c;我们可以通过聚合和培养一批游戏KOL&#xff0c;建立用户之间的紧密联…

成都瀚网科技:抖音上线地方方言自动翻译功能

为了让很多方言的地域历史、文化、习俗能够以短视频的形式生产、传播和保存&#xff0c;解决方言难以被更多用户阅读和理解的问题&#xff0c;平台正式上线推出当地方言自动翻译功能。创作者可以利用该功能&#xff0c;将多个方言视频“一键”转换为普通话字幕供大众观看。 具体…