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.xdnf.cn/news/143858.html

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

相关文章

C++中实现雪花算法来在秒级以及毫秒及时间内生成唯一id

1、雪花算法原理 雪花算法&#xff08;Snowflake Algorithm&#xff09;是一种用于生成唯一ID的算法&#xff0c;通常用于分布式系统中&#xff0c;以确保生成的ID在整个分布式系统中具有唯一性。它的名称来源于雪花的形状&#xff0c;因为生成的ID通常是64位的整数&#xff0…

Prometheus-Rules 实战

文章目录 1 node rules2 nginx rule2.1 Nginx 4xx 错误率太多2.2 Nginx 5xx 错误率太多2.3 Nginx 延迟高 3 mysql rule3.1 MySQL 宕机3.2 实例连接数过多3.3 MySQL高线程运行3.4 MySQL 从服务器 IO 线程没有运行3.5 MySQL 从服务器 SQL 线程没有运行3.6 MySQL复制滞后3.7 慢查询…

作为SiteGPT替代品,HelpLook的优势是什么?

在当今快节奏的数字化世界中&#xff0c;企业不断寻求创新方式来简化运营并增强客户体验。由于聊天机器人能够自动化任务、提供快速响应并提供个性化互动&#xff0c;它们在业务运营中的使用变得非常重要。因此&#xff0c;企业越来越意识到像SiteGPT和HelpLook这样高效的聊天机…

I/O

IO 流简介 IO 即 Input/Output&#xff0c;输入和输出。数据输入到计算机内存的过程即输入&#xff0c;反之输出到外部存储&#xff08;比如数据库&#xff0c;文件&#xff0c;远程主机&#xff09;的过程即输出。IO 流在 Java 中分为输入流和输出流&#xff0c;而根据数据的…

Spring事务不生效的场景的解决方案

一、前言 在Java Web开发中&#xff0c;使用Spring框架可以大大简化开发人员的工作。其中&#xff0c;事务管理是Spring框架中的一个重要功能&#xff0c;它可以确保多个数据库操作要么全部成功&#xff0c;要么全部失败。但是&#xff0c;在实际开发中&#xff0c;我们可能会…

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

浅谈研发与制造运营双端之间的数字化探索

一、传统中小型制造企业的发展变革与信息化建设背景 以往&#xff0c;传统的中小型制造企业常以大批量、重复性生产制造为主&#xff0c;依赖于人力设备&#xff0c;通过扩大产能发展壮大&#xff0c;信息化能力弱。伴随市场环境的变化及厂商竞争压力&#xff0c;企业谋生存求…

【网络八股】TCP八股

网络八股 请简述TCP/IP模型中每层的作用&#xff0c;典型协议和典型设备介绍一下三次握手的过程介绍一下四次挥手的过程必须三次握手吗&#xff0c;两次不行吗&#xff1f;为什么ACK数据包消耗TCP的序号吗三次握手中可以携带应用层数据吗四次挥手时&#xff0c;可以携带应用层数…

UE蓝图学习(从Unity3D而来)

一、UE组件对比Unity3D&#xff0c;从Unity3D过渡来学的角度出发&#xff0c;可以理解为在 空物体下放置子物体。UE没有U3D那种可以将组件挂在自身空物体上面。 二、UE 蓝图的情境提示&#xff0c;必须先找到相应的类型&#xff0c;对象对象、事件事件&#xff0c;才能找到相应…

Vue iconfont-阿里巴巴矢量图标库用法

一、vue使用 选择心仪的图标 加入购物车 点击右上角购物车&#xff0c;点击添加至项目 在资源管理 可以看到我的项目 进入项目设置勾选彩色 点击下载到本地 解压压缩包 在main.js文件内导入css文件 import "/assets/font_icon/iconfont.css"; 使用&#xff1a; 复…

Hive 数据仓库介绍

目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么&#xff1f; 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2…

postman怎么进行参数化?

一、先准备好参数化数据 &#xff08;参数化数据可以使用Excel或者txt的文件。 注意如果使用的是txt的文件&#xff0c;一定要使用英文的逗号&#xff0c;不然的话会报错&#xff01;&#xff09; 注意&#xff1a;填写好的数据后&#xff0c;保存的时候需要另存为&#xff0c…

PayPal面经

文章目录 初战AI Infra团队广泛收集信息&#xff0c;增加对面试相关团队的了解Paypal的AI infra Engineer 极客时间演讲视频&#xff1a;AI在金融应用HR面试首面 zhang chao首先让我介绍自己和项目基础知识出题 lettcode 1and0s 二面 luwen没有让我重复介绍自己那好&#xff0c…

如何快速重置模型原点

1、什么是模型原点&#xff1f; 模型原点是三维建模中的概念&#xff0c;它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示&#xff1a; 可以看到模型的原点在模型的几何中心 2、模型原点的作用 知道了什么是模型原点&…

LCR 101. 分割等和子集——力扣——背包问题、动态规矩

问题描述 代码展示 class Solution:def canPartition(self, nums: List[int]) -> bool:if len(nums) < 1:return Falsetotal_sum sum(nums)if total_sum % 2 ! 0: # 总和为奇数&#xff0c;无法分成两个相等的子集return Falsetarget_sum total_sum // 2dp [[False]…

myArm 全新七轴桌面型机械臂

引言 在不断演进的科技世界中&#xff0c;我们始终追求创新和卓越&#xff0c;以满足客户的需求并超越他们的期望。今天&#xff0c;我们很高兴地宣布我们的最新产品——myArm 300 Pi&#xff0c;一款七轴的桌面型机械臂。这款产品的独特之处在于其灵活性和可编程性&#xff0c…

Docker——容器生命周期管理(下篇)

Docker 一、run1、options说明2、-p的三种写法3、实例14、实例25、实例36、实例47、实例58、实例69、实例78、实例89、退出容器 二、start/stop/restart1、语法格式2、stop/restart 命令的 options 三、kill1、重点2、说明3、实例 四、rm1、说明2、实例 五、create实例 六、exe…

天眼查询企业信息API接口

"天眼"一般是指"天眼查"&#xff0c;这是一个提供全国企业信息查询的API接口。天眼查以"天眼"作为用户logo&#xff0c;基于人工智能算法的数据采集和分析技术&#xff0c;为企业和个人提供全量、精准、实时、权威的企业信息查询服务。 天眼查A…

美容店预约小程序搭建流程

随着科技的不断发展&#xff0c;小程序已经成为了人们生活中不可或缺的一部分。对于美容店来说&#xff0c;搭建一个预约小程序不仅可以提高工作效率&#xff0c;还可以增加客户数量、提高服务质量。那么&#xff0c;如何搭建一个美容店预约小程序呢&#xff1f;本文将为你详细…

Dockerfile 语法详解:构建定制化容器镜像的基石

Docker 已经成为现代应用程序开发和部署的关键工具之一。在 Docker 的世界中&#xff0c;Dockerfile 是一个至关重要的文件&#xff0c;它定义了如何构建容器镜像的步骤和配置。本文将深入探讨 Dockerfile 的语法&#xff0c;为您提供构建定制化容器镜像的基础知识。 Dockerfil…