Cent OS-7的Apache服务配置

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
相关推荐
程序猿小D7 小时前
第25节 Node.js 断言测试
后端·node.js·log4j·编辑器·vim·apache·restful
RR133512 小时前
图标统计页面的设计与控件 Apache echarts
前端·apache·echarts
tcoding2 天前
《基于Apache Flink的流处理》笔记
笔记·flink·apache
ALLSectorSorft2 天前
上门服务小程序会员系统框架设计
小程序·apache
杨过姑父3 天前
部署开源版禅道,修改apache端口无效解决
bug·apache·软件工程·issue
酷爱码3 天前
Spring Boot 整合 Apache Flink 的详细过程
spring boot·flink·apache
黑客老李3 天前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
临水逸4 天前
可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
apache·grafana
SelectDB技术团队4 天前
Apache Doris + MCP:Agent 时代的实时数据分析底座
人工智能·数据挖掘·数据分析·apache·mcp