Cent OS-7的Apache服务配置

news2024/11/14 14:07:43

WWW是什么?

WWW(World Wide Web,万维网)是一个全球性的信息空间,其中的文档和其他资源通过URL标识,并通过HTTP或其他协议访问。万维网是互联网的一个重要组成部分,但它并不是互联网的全部。互联网是一个全球性的计算机网络,而万维网则是通过互联网访问的一个庞大信息资源网络。

主要特点和功能

  1. 超文本和超链接:万维网的核心技术之一是超文本标记语言(HTML),它允许创建包含超链接的文档。超链接使得用户可以从一个文档跳转到另一个文档,无论这些文档是否存储在同一台计算机上。
  2. 客户端/服务器架构:万维网采用了客户端/服务器架构。用户通过浏览器(客户端)访问存储在服务器上的网页和其他资源。
  3. 统一资源定位符(URL):URL是万维网上资源的唯一标识符。它包含了资源的位置信息,使得浏览器能够找到并显示该资源。
  4. 超文本传输协议(HTTP):HTTP是万维网上用于客户端和服务器之间通信的协议。它定义了如何通过互联网请求和传输网页和其他资源。

API是什么?

API(Application Programming Interface,应用程序编程接口)是一组定义和协议,用于构建和集成软件应用程序。API允许不同的软件组件在没有人为干预的情况下相互通信。它是一组代码接口,提供给开发者使用,以便他们能够轻松地访问某些功能或数据,而无需了解其内部实现细节。

API的特点和好处

  1. 抽象化:API将复杂的操作封装成简单的函数或方法,使得开发者无需关注底层实现细节,只需调用这些接口即可完成所需的功能。
  2. 重用性:API提供了标准化的接口,使得相同的功能可以在不同的应用程序中被重复使用,从而提高开发效率。
  3. 模块化:API促进了软件的模块化设计,使得系统更易于维护和扩展。
  4. 安全性:通过API,系统可以控制外部访问,确保只有授权的用户或应用才能访问特定的数据或功能。

API的工作原理

API的工作原理可以通过一个银行的例子来形象地理解。假设你有一个银行账户,你可以通过银行的API来查询余额、转账等操作。在这个过程中,API充当了你和银行系统之间的中介。你发送一个请求(例如查询余额),API接收到请求后,会与银行的内部系统进行交互,获取到所需的信息,然后将结果返回给你。

API的类型

API可以分为多种类型,包括但不限于:

  1. 操作系统API:如Windows API、Linux系统调用等,提供操作系统级别的功能。
  2. 编程语言API:如Java的String类、Python的内置函数等,提供编程语言内置的功能。
  3. 第三方库API:如libxml2、CURL等,提供第三方库的功能。
  4. Web API:如RESTful API、SOAP Web服务等,提供通过网络访问的功

能。

半结构化、结构化和非结构化数据

在数据管理和处理领域,数据通常被分为三种主要类型:结构化数据、半结构化数据和非结构化数据。这些分类基于数据的组织和格式。

结构化数据

结构化数据是指具有固定格式或结构的数据,通常存储在关系型数据库中,以行和列的形式组织。这种数据类型严格遵循预定义的模式,例如数据库表中的字段和类型。结构化数据的优点是可以很容易地被查询和分析,因为它的格式是明确和一致的。

半结构化数据

半结构化数据介于结构化数据和非结构化数据之间。它没有像关系型数据库那样的严格结构,但仍然有一定的组织形式。常见的半结构化数据格式包括XML、JSON和HTML。这些格式允许数据具有层次结构,并且可以包含标签或标记来描述数据的内容和结构。

非结构化数据

非结构化数据是指没有固定格式或结构的数据。这种数据类型包括文本文件、图像、音频和视频等。非结构化数据的处理通常更加复杂,因为它没有预定义的模式或结构。然而,随着大数据和机器学习技术的发展,对非结构化数据的分析和利用变得越来越重要。

Web工作原理

Web(万维网)的工作原理基于客户端/服务器架构,涉及多个组件和技术的协同工作。以下是Web工作原理的详细解释:

1. 用户请求

当用户在浏览器中输入URL或点击超链接时,浏览器会生成一个HTTP请求。这个请求包含了用户想要访问的资源的URL以及其他一些信息,如浏览器类型、请求方法(GET、POST等)。

2. 域名解析

URL中的域名部分会被解析为一个IP地址。这个过程通常由域名系统(DNS)完成。DNS会将人类可读的域名(如www.example.com )转换为计算机可识别的IP地址(如192.0.2.1)。

3. 请求发送

一旦域名被解析为IP地址,浏览器会将HTTP请求发送到对应的Web服务器。这个请求通过互联网传输,可能经过多个中间节点。

4. 服务器处理请求

Web服务器接收到请求后,会根据请求的内容进行处理。服务器可能会:

  • 从文件系统中读取静态网页(如HTML、CSS、JavaScript文件)。
  • 调用应用程序服务器来处理动态内容(如PHP、Python、Java等生成的页面)。
  • 查询数据库以获取所需的数据。

5. 响应生成

服务器处理完请求后,会生成一个HTTP响应。这个响应包含了请求的资源(如HTML文档、图片、视频等)以及一些元数据(如状态码、内容类型、缓存控制等)。

6. 响应发送回客户端

服务器将生成的HTTP响应发送回用户的浏览器。这个响应也会通过互联网传输,可能经过多个中间节点。

7. 浏览器渲染内容

浏览器接收到服务器的响应后,会开始解析和渲染内容。浏览器会将HTML文档解析为DOM(文档对象模型),然后根据CSS样式和JavaScript代码来呈现最终的网页内容给用户。

8. 用户交互

用户可以与网页进行交互,如点击链接、填写表单、滚动页面等。这些操作可能会触发新的HTTP请求,从而重复上述过程。

关键技术

  • HTTP:超文本传输协议,用于客户端和服务器之间的通信。
  • HTML:超文本标记语言,用于定义网页的结构和内容。
  • CSS:层叠样式表,用于控制网页的外观和布局。
  • JavaScript:一种编程语言,用于在客户端执行动态操作。
  • DNS:域名系统,用于将域名解析为IP地址。

 

Apache HTTP Server

Apache HTTP Server(简称Apache)是Apache软件基金会(The Apache Software Foundation,ASF)开发的一个开放源码的网页服务器。它广泛应用于各种操作系统中,包括Linux、Windows和macOS等。以下是关于Apache HTTP Server的详细信息:

1. 简介

Apache HTTP Server是一个高性能、可扩展的Web服务器,能够处理大量的并发请求。它以其简单、快速、稳定和安全的特点而闻名,并且可以作为代理服务器使用。

2. 特性

Apache HTTP Server具有以下主要特性:

  • 跨平台:可以在多种操作系统上运行,包括Linux、Windows、macOS等。
  • 安全性:提供了多种安全特性,如SSL/TLS加密、访问控制、防火墙支持等。
  • 可扩展性:通过模块化设计,可以添加或移除功能模块,以满足不同的需求。
  • 高性能:优化了性能,能够处理大量的并发请求。
  • 灵活性:支持多种配置选项,可以根据具体需求进行定制。

3. 安装与配置

Apache的主要配置文件位于/etc/httpd/conf/httpd.conf 路径下。用户可以通过编辑这个文件来配置Apache服务的各种参数,如监听端口、文档根目录、访问控制等。

. 常用模块

Apache HTTP Server支持多种模块,以扩展其功能。以下是一些常用的模块:

  • mod_ssl:提供SSL/TLS加密支持,用于保护数据传输的安全性。
  • mod_php:提供PHP语言的支持,用于运行PHP脚本。
  • mod_rewrite:提供URL重写功能,用于实现友好的URL和SEO优化。
  • mod_proxy:提供代理服务器功能,用于转发请求和负载均衡。

5. 日志文件

Apache HTTP Server生成多个日志文件,用于记录服务器的运行状态和错误信息。以下是一些常见的日志文件:

  • access_log:记录所有访问请求的日志文件,位于/var/log/httpd/access_log路径下。
  • error_log:记录所有错误信息的日志文件,位于/var/log/httpd/error_log路径下。

 

第一部分:基础五步

1,挂载光盘,并写镜像源方便装包

Linux 编写本地仓库

2,寻找我们需要的软件包

yum search http

3,安装软件包

yum install -y  httpd

4,关闭selinux

vim /etc/selinux/config

更改配置文件之后再重启centOS-7,再查看setenforce 0

5,关闭防火墙 systemctl stop firewalld.service

可以看到这个时候服务是正常运行着的 systemctl restart httpd

可以做开机自启动 systemctl enable httpd

实验一:显示默认页面

6,访问http://192.168.23.157,能够正常访问

实验二:自定义页面

7,查找配置文件 rpm -qc httpd

8,通过查看配置文件,找网站首页路径

找到默认页面文件名称

9,修改首页文件  vim /var/www/html/index.html,添加任意内容

如果存在无法访问,那么就是权限的问题。需要检查文件权限: 确保/etc/www/html目录及其内容具有适当的权限,以便Apache服务器可以读取它们。您可以使用以下命令来设置正确的权限:
chown -R www-data:www-data /etc/www/html
chmod -R 755 /etc/www/html

修改权限之后,就能够正常访问了

实验三:自定义首页文件路径及首页文件名

1、创建首页文件目录

mkdir /test

2、修改主配置文件

vim /etc/httpd/conf/httpd.conf

修改首页文件路径

119 DocumentRoot "/test1"

120 #DocumentRoot "/var/www/html"

132 <Directory "/test1">

133 #<Directory "/var/www/html">

修改首页文件名

166     DirectoryIndex wangke.html

3、重启服务 systemctl restart httpd

4、编写首页文件内容 vim /test/1.html

5、访问web网站 http://192.168.23.157

 

实验四:修改端口号

1、修改主配置文件

vim /etc/httpd/conf/httpd.conf

 42 Listen 8080

 43 #Listen 80

2、重启服务

systemctl restart httpd

3、访问web网站 http://192.168.23.157:8080

 

实验五:使用域名访问web网站

修改linux下记录域名的文件 vim /etc/hosts

192.168.23.157 www.testtest.com

然后启动文件使配置生效 /etc/init.d/network restart

修改windows下记录域名的文件

 C:\Windows\System32\drivers\etc\hosts

192.168.23.157 www.testtest.com

在该文件加上了文本之后,还需要刷新DNS缓存 ipconfig /flushdns

然后就能够能够通过域名访问网站了

解决无法访问Linux下/etc/www/html页面的问题

按照以下步骤进行排查和解决:

  1. 检查文件权限: 确保/etc/www/html目录及其内容具有适当的权限,以便Apache服务器可以读取它们。您可以使用以下命令来设置正确的权限:
    sudo chown -R www-data:www-data /etc/www/html
    sudo chmod -R 755 /etc/www/html
  2. 检查Apache配置: 确保Apache配置文件中正确设置了DocumentRoot和其他相关配置。您可以编辑httpd.conf 文件(通常位于/etc/httpd/conf/或/etc/apache2/目录中),并确保以下配置正确:
    DocumentRoot "/etc/www/html"
    <Directory "/etc/www/html">
        Options Indexes FollowSymLinks
       
    AllowOverride None
       
    Require all granted
    </Directory>
  3. 检查Apache模块: 确保启用了必要的Apache模块,例如mod_rewrite和mod_php。您可以使用以下命令来启用这些模块:
    sudo a2enmod rewrite
    sudo a2enmod php
  4. 检查Apache日志: 查看Apache错误日志以获取有关问题的更多信息。错误日志通常位于/var/log/apache2/error.log 或/var/log/httpd/error_log路径下。您可以使用以下命令来查看错误日志:
    tail -f /var/log/apache2/error.log 
  5. 检查SELinux设置: 如果您的系统启用了SELinux,您可能需要调整SELinux设置以允许Apache访问/etc/www/html目录。您可以使用以下命令来临时禁用SELinux:
    sudo setenforce 0
  6. 重启Apache服务器: 在进行上述更改后,重启Apache服务器以应用新的配置:
    sudo systemctl restart apache2

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

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

相关文章

遗传算法与深度学习实战(23)——利用遗传算法优化深度学习模型

遗传算法与深度学习实战&#xff08;23&#xff09;——利用遗传算法优化深度学习模型 0. 前言1. 神经进化2. 使用遗传算法作为深度学习优化器小结系列链接 0. 前言 神经进化涵盖了所有用于改进深度学习的进化算法。更具体地说&#xff0c;神经进化用来定义应用于深度学习的特…

Kubernetes 核心组件调度器(Scheduler)

文章目录 一&#xff0c;调度约束1.Kubernetes的基本构建块和最小可调度单元pod创建过程&#xff08;工作机制&#xff0c;重点&#xff09;1.1list-watch 组件List-Watch 的优点List-Watch 的应用场景List-Watch 的挑战与优化 2.调度过程(重点)2.1调度过程&#xff1a;2.2Kube…

STM32WB55RG开发(3)----生成 BLE 程序连接手机APP

STM32WB55RG开发----3.生成 BLE 程序连接手机APP 概述硬件准备视频教学样品申请源码下载参考程序选择芯片型号配置时钟源配置时钟树RTC时钟配置RF wakeup时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙设置工程信息工程文件设置结果演示 概述 本项目旨…

[C++]内联函数和nullptr

> &#x1f343; 本系列为初阶C的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:[小编的个人主页])小编的个人主页 > &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 > ✌️ &#x1f91e; &#x1…

微软OmniParser:一切皆文档,OCR驱动智能操作

前沿科技速递&#x1f680; 微软推出的OmniParser是一种创新的框架&#xff0c;旨在将手机和电脑屏幕视为文档&#xff0c;通过OCR技术与多模态大模型实现对用户界面的深度理解和操作。OmniParser能够高效识别和提取界面中的文本信息、位置和语义&#xff0c;助力自动化操作。 …

使用 Web Search 插件扩展 GitHub Copilot 问答

GitHub Copilot 是一个由 GitHub 和 OpenAI 合作开发的人工智能代码提示工具。它可以根据上下文提示代码&#xff0c;还可以回答各种技术相关的问题。但是 Copilot 本身不能回答非技术类型的问题。为了扩展 Copilot 的功能&#xff0c;微软发布了一个名为 Web Search 的插件&am…

Rust语言在系统编程中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Rust语言在系统编程中的应用 Rust语言在系统编程中的应用 Rust语言在系统编程中的应用 引言 Rust 概述 定义与原理 发展历程 Ru…

vue+vite前端项目ci过程中遇到的问题

将项目进行ci流水线构建时&#xff0c;遇到了npm run build 构建完成后命令行不会终止的问题&#xff0c;导致了无法进行下一个步骤。如下图&#xff1a; 排查了好久找到事vite.config.js的配置出了问题&#xff0c;如图所示&#xff0c;将build下的watch改为false即可解决问…

Python 获取PDF的各种页面信息(页数、页面尺寸、旋转角度、页面方向等)

目录 安装所需库 Python获取PDF页数 Python获取PDF页面尺寸 Python获取PDF页面旋转角度 Python获取PDF页面方向 Python获取PDF页面标签 Python获取PDF页面边框信息 了解PDF页面信息对于有效处理、编辑和管理PDF文件至关重要。PDF文件通常包含多个页面&#xff0c;每个页…

企业级RAG(检索增强生成)系统构建研究

— 摘要 检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;RAG&#xff09;技术已经成为企业在知识管理、信息检索和智能问答等应用中的重要手段。本文将从RAG系统的现状、方法论、实践案例、成本分析、实施挑战及应对策略等方面&#xff0c;探讨企业如何…

前端学习八股资料CSS(二)

更多详情&#xff1a;爱米的前端小笔记&#xff0c;更多前端内容&#xff0c;等你来看&#xff01;这些都是利用下班时间整理的&#xff0c;整理不易&#xff0c;大家多多&#x1f44d;&#x1f49b;➕&#x1f914;哦&#xff01;你们的支持才是我不断更新的动力&#xff01;找…

SAP 创建物料主数据报错:估价范围3010还没有生产式的物料帐簿

通过接口创建物料主数据&#xff08;模拟MM01&#xff09;&#xff0c;报错如图&#xff1a; 处理方案1&#xff1a;&#xff08;我的不行&#xff0c;提示已经是生产的&#xff09; 将评估范围的物料分类账设置为生产 事务码: CKMSTART - 物料分类帐的生产开始 处理方案2&a…

扫雷游戏代码分享(c基础)

hi , I am 36. 代码来之不易&#x1f44d;&#x1f44d;&#x1f44d; 创建两个.c 一个.h 1&#xff1a;test.c #include"game.h"void game() {//创建数组char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };char temp[ROWS][COLS] { 0 };//初始化数…

leetcode 148. 排序链表 中等

给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5]示例 3&#xff1a; …

Elasticsearch中什么是倒排索引?

倒排索引&#xff08;Inverted Index&#xff09;是一种索引数据结构&#xff0c;它在信息检索系统中被广泛使用&#xff0c;特别是在全文搜索引擎中。倒排索引允许系统快速检索包含给定单词的文档列表。它是文档内容&#xff08;如文本&#xff09;与其存储位置之间的映射&…

excel-VLOOKUP函数使用/XVLOOKUP使用

多个窗口同时编辑表格&#xff0c;方便对照操作 使用开始-视图-新建窗口 将战区信息表的三列数据匹配到成交数据表上 可以使用VLOOKUP函数 有4个参数&#xff08;必须要查找的值&#xff0c; 要查找的区域&#xff0c;要返回区域的第几列数据&#xff0c;一个可选参数查找匹…

netcore 静态文件目录浏览

环境&#xff1a;Net6 string dirPath "C:\\Users\\15298\\Pictures"; var fileProvider new PhysicalFileProvider(dirPath); app.UseStaticFiles(new StaticFileOptions {FileProvider fileProvider,RequestPath new PathString(("/files")) }); // …

1Panel修改PostgreSQL时区

需求 1Panel安装的PostgreSQL默认是UTC时区&#xff0c;需要将它修改为上海时间 步骤 进入PostgreSQL的安装目录 /opt/1panel/apps/postgresql/postgresql/data打开postgresql.conf文件 修改&#xff1a; log_timezone Asia/Shanghai timezone Asia/Shanghai保存后重启…

函数式接口和stream

函数式接口&#xff08;Functional Interface&#xff09;是Java 8引入的一个新特性&#xff0c;它只有一个抽象方法的接口。这意味着你可以将一个函数式接口作为参数传递给方法&#xff0c;或者将其实现为一个lambda表达式。函数式接口的主要目的是允许你以声明性方式处理操作…

Oracle 高水位线和低-高水位线(High Water Mark Low High Water Mark)

在Oracle的逻辑存储结构中&#xff08;表空间-段-区-块&#xff09;&#xff0c;数据是存在数据段中的&#xff0c;通常一个表就是一个数据段&#xff0c;而段最终又由许多数据块组成。当数据存入数据块时&#xff0c;需要对块进行格式化&#xff0c;高水位线&#xff08;High …