文章目录
- 一、WEB服务器介绍
- 1.1、WEB服务器概述
- 1.2、WEB服务器的发展历史
- 1.3、WEB服务器的优点与缺点
- 1.4、WEB服务器的工作流程
- 二、Apache介绍
- 2.1、Apache是什么
- 2.2、Apache的发展史与应用场景
- 2.3、Apache的特点
- 2.4、Apache的工作原理
- 2.5、Apache的模块
- 三、安装使用Apache服务
- 3.1、安装Apache服务
- 3.2、检查Apache进程
- 3.3、编写开机自动启动脚本
- 3.4、查看Apache的相关信息
- 3.5、查看Apache被编译的模块
- 3.6、修改监听端口
Web服务是目前Internet上最常见的服务之一,要搭建一个Web服务器,首先要选择一套合适的Web程序。
一、WEB服务器介绍
1.1、WEB服务器概述
万维网又称为Web(World Wide Web,www),是在Internet上以超文本为基础形成的信息网。用户通过浏览器可以访问Web服务器上的信息资源。
Web服务器是处理浏览器等Web客户端请求并返回相应响应的程序。在互联网世界中,Web服务器扮演着至关重要的角色,它们不仅存储和传输网页,还负责处理来自世界各地用户的请求,并提供所需的数据或文件。
现代Web服务器的核心功能包括处理HTTP请求、提供网页信息浏览服务、支持安全通信等。这些服务器能够处理各种类型的内容,包括但不限于HTML文档、图像、样式表、视频以及各类脚本。
1.2、WEB服务器的发展历史
早期发展和基本概念:
- 在1960年代,超文本的概念首次被Theodor Holm Nelson提出,并在Project Xanadu中尝试实施。虽然这一项目最终没有广泛推广,但超文本的理念为后来的Web技术奠定了基础。
- 1989年,Tim Berners-Lee在CERN工作时,为了解决科研人员之间信息共享的问题,提出了一个基于超文本的系统——万维网。他同时发明了HTML和HTTP,这是Web服务器技术的重要基石。
Web服务器的诞生和发展:
- 1991年,第一个Web页面由Tim Berners-Lee发布,标志着Web服务器技术的正式应用开始。
- 随着Web技术的普及,出现了多种Web服务器软件。Apache Group在1995年成立,并推出了Apache HTTP Server,迅速成为最受欢迎的Web服务器之一。随后,Nginx(2004年)和IIS也逐渐发展起来,形成了Web服务器软件的多元化格局。
静态动态内容的演变:
- 最初的Web服务器主要提供静态内容服务。用户请求的每个页面都是服务器上预先生成好的HTML文件,直接传输给用户。
- 随着互联网内容的增长和用户需求的多样化,动态内容生成技术如CGI、PHP和JSP等开始出现,使得Web服务器能够根据用户的请求实时生成内容,大大增强了Web的交互性和个性化体验。
Web服务器安全性能的增强:
- 随着电子商务的兴起,Web服务器的安全性变得越来越重要。SSL/TLS协议的应用保证了数据传输的安全性,成为了Web服务器不可或缺的一部分。
- 随着网站访问量的增加,单一的Web服务器难以处理巨大的请求量。负载均衡技术允许将请求分发到多个服务器上,有效地提高了网站的处理能力和稳定性。
1.3、WEB服务器的优点与缺点
优点分析:
- Web服务器的设计通常考虑到了高效性和稳定性。例如,Apache HTTP Server以其成熟、稳定和功能强大的特点被广泛采用。它的配置丰富,几乎可以满足所有功能需求。
- 现代Web服务器如Nginx在处理静态文件和动态内容方面表现出色。Nginx在内存和CPU资源消耗上相对较小,并且能够支持更高的并发数。这对于动态网站和高流量的应用来说尤为重要。
- Web服务器通常具备良好的扩展性。模块化设计允许用户根据需要选择和添加功能模块,以适应不同的应用场景。
- 随着技术的发展,Web服务器的安全性也在持续增强。SSL/TLS协议的广泛应用确保了数据传输的安全。此外,许多服务器集成了安全防护机制,如Apache的多种HTTP认证方式和安全模块。
缺点分析:
- 尽管Web服务器如Apache提供了丰富的功能,但这也导致了其在某些情况下资源消耗较大,特别是在处理静态文件较多的情况下,其内存和CPU的占用相比轻量级服务器来说较大。
- 虽然Web服务器在多方面进行了优化,但在高并发场景下仍可能面临性能瓶颈。例如,Apache的阻塞型请求处理方式可能在处理海量并发请求时出现延迟。
- Web服务器虽然在功能上多样化,但同时也增加了配置的复杂性。对于非专业用户来说,配置和管理一个功能强大的Web服务器可能比较困难。
- 虽然Web服务器不断更新以提升安全性,但它们仍然是网络攻击的主要目标。随着黑客技术的不断进步,保持服务器安全成为一项持续的挑战。
1.4、WEB服务器的工作流程
Web服务器的工作流程涉及接收请求、处理请求、访问资源、构建响应和返回响应等关键步骤。
- 建立连接:Web服务器的工作流程开始于与客户端(通常是Web浏览器)建立一个TCP连接。这一步骤是通过所谓的三次握手完成的,确保数据的可靠传输。
- 接收请求:一旦连接建立,服务器会接收客户端发送的HTTP请求。这些请求包含方法(如GET或POST)、资源的路径、以及可能的查询字符串或数据体。
- 处理请求:服务器解析收到的HTTP请求后,确定请求类型(如是获取静态资源还是需要执行的动态内容)。对于静态内容,服务器直接从文件系统中读取并准备返回;而对于动态内容,则可能需要通过CGI或其他应用接口进行进一步的处理。
- 访问资源:根据请求的类型,服务器会从不同的位置获取资源。这包括从本地文件系统、缓存、数据库或通过CDN等方式获取资源。
- 构建响应:在获取到必要的资源后,服务器会构建一个HTTP响应。此响应包括状态码、响应头(其中包含了例如内容类型、缓存策略等信息),以及实际的响应实体(即返回的实际数据,如HTML页面、图片等)。
- 返回响应:构建好的响应随后被发送回客户端。如果连接是持久的(HTTP keep-alive),服务器可能会在同一连接上等待更多的请求;否则,连接可能会被关闭。
- 记录日志:为了跟踪和分析服务器运行情况,大多数Web服务器在处理完每一个HTTP事务后都会将其记录到日志文件中,这对于后续的问题诊断和性能优化非常有帮助。
二、Apache介绍
2.1、Apache是什么
Apache是一种开源的Web服务器软件,被广泛用于托管网站和应用程序。
这种软件,被称为Apache HTTP Server,由Apache软件基金会维护,是一个强大且可扩展的服务器平台,支持多种操作系统,包括Linux、Windows等;由于其开源特性,Apache提供了极高的灵活性和可配置性,使其成为开发者和企业的首选服务器软件。
2.2、Apache的发展史与应用场景
起源与初期发展:
- Apache HTTP Server的故事开始于伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发的NCSA HTTPd服务器。由于最初的开发者逐渐对这个软件失去了兴趣,导致缺乏技术支持和更新。这促使一群热心的开发者聚在一起,共同维护和发展这一项目,最终成立了Apache Group。
- 1995年4月,Apache Group发布了首个公开版本0.6.2,并在同年12月推出了1.0版本。仅用一年时间,Apache就超越了NCSA HTTPd,成为使用量最大的Web服务器。到了1999年,Apache已经在57%的网页服务器上运行。
关键里程碑与技术革新:
- 随着互联网技术的迅速发展,Apache不断引入新技术如SSL/TLS加密通信、URL重写功能以及反向代理能力等,大大增强了其作为Web服务器的功能性和灵活性。
- Apache通过支持最新的HTTP标准,如HTTP/2,保持了其在Web服务器市场中的领先地位。同时,它继续推动边缘技术的发展,以适应不断变化的网络需求。
社区支持与开源贡献:
- Apache软件基金会不仅维护Apache HTTP Server,还支持其他多个开源项目,推动了整个开源生态系统的发展。
- Apache的成功在很大程度上得益于其活跃的开发者社区,这个社区不断对服务器代码进行优化和新功能的添加,促进了技术的快速迭代和问题的迅速解决。
应用场景与市场地位:
- Apache因其高可配置性和广泛的模块支持,适用于从小型个人博客到大型电商平台的各种网站。它的成功也体现在其市场占有率上,长期保持在60%左右,是世界上使用最广泛的Web服务器之一。
- 许多全球知名的网站如Amazon、Yahoo!都是Apache的产物,这些成功案例证明了其在高流量网站处理能力上的卓越表现。
2.3、Apache的特点
Apache HTTP Server是一款开源的Web服务器软件,以其跨平台性、高度模块化、安全性和强大的功能集被广泛使用。
开源性质:
- 作为开源软件,Apache允许用户自由使用、修改和重新分发其代码。这种开放性促进了全球开发者社区的贡献,推动了其功能和性能的不断进步。
- 由于其开源的性质,Apache拥有一个活跃的开发者社区,这支持了技术的快速迭代和问题的迅速解决。
跨平台能力:
- Apache服务器可以在几乎所有广泛使用的计算机平台上运行,包括各种版本的UNIX、Linux以及Windows等,这提供了极高的适应性和灵活性。
- 得益于其跨平台的设计,Apache能够适应各种不同的操作系统环境,使得它在全球范围内得到了广泛的应用。
模块化设计:
- Apache通过模块化设计实现了高度的可配置性和扩展性。用户可以根据自己的需求添加或删除功能模块,灵活地定制服务器的行为。
模块化还意味着Apache可以与其他许多工具和系统集成,如PHP、Python等,这增强了其在Web开发中的通用性和实用性。
安全性:
- Apache提供了多种安全功能,包括访问控制、身份验证和加密等,以保护服务器和数据的安全。
- Apache的安全性能定期接受全球开发者社区的审查和更新,帮助保护系统免受最新威胁的影响。
高性能:
- Apache能够处理大量的并发请求,使其成为许多高流量网站的首选服务器软件。
- 尽管Apache以进程为基础的结构在多处理器环境中可能不是最高效的,但其稳定性和可靠性让它在实际应用中表现出色。
配置灵活性:
- Apache提供了一个简单而强大的基于文件的配置系统,使管理员能够容易地调整和优化服务器设置以满足特定的应用需求。
代理功能:
- Apache还可以配置为代理服务器,这可以帮助提高网络安全性,同时控制对外部资源的访问。
虚拟主机支持:
- 支持基于IP和域名的虚拟主机,这使得在同一台服务器上托管多个网站变得简单高效。
2.4、Apache的工作原理
Apache HTTP Server的工作原理涉及多个步骤,包括客户端请求发送、服务器解析请求、读取信息、完成请求动作以及关闭连接等。
- 当用户在浏览器中输入URL或通过点击链接访问网页时,浏览器会向目标Web服务器发送HTTP请求。此请求包含了诸如用户的IP地址、浏览器类型及请求的URL等信息。一旦Web服务器接收到请求,它就会开始处理这个请求,并准备将响应返回给客户端。
- Apache服务器的核心功能是处理和响应HTTP请求。它通过监听特定的端口(默认为80端口)来接收来自客户端的请求。一旦收到请求,Apache会对请求头进行解析,确定请求的类型(如GET、POST等),以及请求的资源类型(如HTML文档、图片文件等)。根据这些信息,Apache会决定如何响应该请求。如果请求的是静态资源,如一个HTML页面或者一个图片,Apache会直接从其文件系统中读取并返回这个文件。如果请求需要服务器动态处理,例如一个需要运行PHP脚本的页面,Apache会将请求传递给相应的处理模块,处理完成后再将结果返回给客户端。
- Apache支持多种多处理模块(MPM),如prefork、worker和event MPM,这些模块允许Apache以不同的方式处理并发请求,从而优化性能。Prefork MPM每个请求使用一个单独的进程,适合处理多线程不稳定的模块。Worker MPM使用线程,可以处理更多的请求且占用更少的内存。Event MPM使用事件驱动机制,旨在提供更高的性能和吞吐量。
- 在处理完请求并将响应发回客户端后,Apache会关闭与该请求相关的连接。这个过程包括关闭所有由请求打开的资源,如文件句柄和其他类型的连接。这样做是为了确保系统资源得到有效管理,为后续的请求做好准备。
2.5、Apache的模块
模块名 | 功能说明 | 是否默认安装 |
---|---|---|
mod_actions | 运行基于MIME类型的CGI脚本 | 是 |
mod_alias | 支持虚拟目录和页面重定向 | 是 |
mod_asis | 发送包含自定义HTTP头的文件 | 是 |
mod_auth_basic | 基本验证 | 是 |
mod_auth_digest | 使用MD5加密算法的用户验证 | 否 |
mod_authn_alias | 允许使用第三方验证 | 否 |
mod_authn_anon | 允许匿名用户访问认证的区域 | 否 |
mod_authn_dbd | 使用数据库保存用户验证信息 | 否 |
mod_authn_dbm | 使用DBM数据文件保存用户验证信息 | 否 |
mod_authn_default | 处理用户验证失败 | 是 |
mod_authn_file | 使用文本文件保存用户验证信息 | 是 |
mod_authnz_ldap | 使用LDAP目录进行用户验证 | 否 |
mod_authz_default | 处理组验证失败 | 是 |
mod_authz_groupfile | 使用plaintext文件进行组验证 | 是 |
mod_authz_host | 基于主机的组验证 | 是 |
mod_authz_user | 用户验证模块 | 是 |
mod_autoindex | 生成目录索引 | 是 |
mod_cache | 通向URI的内容Cache | 否 |
三、安装使用Apache服务
3.1、安装Apache服务
安装 Apache HTTP Server
[root@root ~]# yum install httpd
启动 Apache 服务
[root@root ~]# systemctl start httpd
设置开机自启
[root@root ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
查看apache状态
[root@root ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)Active: active (running) since Fri 2024-06-14 19:00:09 CST; 49s agoDocs: man:httpd.service(8)Main PID: 104946 (httpd)Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"Tasks: 177 (limit: 10483)Memory: 24.7MCPU: 90msCGroup: /system.slice/httpd.service├─104946 /usr/sbin/httpd -DFOREGROUND├─104947 /usr/sbin/httpd -DFOREGROUND├─104948 /usr/sbin/httpd -DFOREGROUND├─104949 /usr/sbin/httpd -DFOREGROUND└─104950 /usr/sbin/httpd -DFOREGROUNDJun 14 19:00:09 root systemd[1]: Starting The Apache HTTP Server...
Jun 14 19:00:09 root httpd[104946]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::216:3eff:fe0d:5001%eth0. Set the 'ServerName' dire>
Jun 14 19:00:09 root systemd[1]: Started The Apache HTTP Server.
Jun 14 19:00:09 root httpd[104946]: Server configured, listening on: port 80
停止apache服务
[root@root ~]# systemctl stop httpd
[root@root ~]# systemctl status httpd
○ httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)Active: inactive (dead) since Fri 2024-06-14 19:02:00 CST; 2s agoDuration: 1min 49.388sDocs: man:httpd.service(8)Process: 104946 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS)Main PID: 104946 (code=exited, status=0/SUCCESS)Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"CPU: 138msJun 14 19:00:09 root systemd[1]: Starting The Apache HTTP Server...
Jun 14 19:00:09 root httpd[104946]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::216:3eff:fe0d:5001%eth0. Set the 'ServerName' dire>
Jun 14 19:00:09 root systemd[1]: Started The Apache HTTP Server.
Jun 14 19:00:09 root httpd[104946]: Server configured, listening on: port 80
Jun 14 19:01:59 root systemd[1]: Stopping The Apache HTTP Server...
Jun 14 19:02:00 root systemd[1]: httpd.service: Deactivated successfully.
Jun 14 19:02:00 root systemd[1]: Stopped The Apache HTTP Server.
3.2、检查Apache进程
显示当前运行的 Apache 进程的信息
[root@root ~]# ps -ef | grep httpd
root 105467 1 0 19:02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 105470 105467 0 19:02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 105471 105467 0 19:02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 105472 105467 0 19:02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 105473 105467 0 19:02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 105710 104374 0 19:04 pts/0 00:00:00 grep --color=auto httpd
返回结果解析
- 用户名(User):进程的所有者,这里是root和apache。
- 进程ID(PID):进程的唯一标识符,例如105467、105470等。
- 父进程ID(PPID):创建该进程的父进程的ID,例如105467、105467等。
- 启动时间(Start time):进程启动的时间,例如19:02、19:02等。
- 运行时间(Time):进程运行的总时间,例如00:00:00、00:00:00等。
- 命令(Command):启动进程的命令,这里是/usr/sbin/httpd -DFOREGROUND
显示当前运行的 Apache 进程的 PID
[root@root ~]# pgrep httpd
105467
105470
105471
105472
105473
显示当前运行的 Apache 进程的网络连接信息
[root@root ~]# netstat -tlnp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 105467/httpd
3.3、编写开机自动启动脚本
创建一个 systemd 服务文件
[root@root ~]# vi /etc/systemd/system/apache.service
[Unit] # 定义单元,用于描述服务的属性
Description=Apache HTTP Server # 描述服务的简短描述
After=network.target # 指定在哪个服务之后启动此服务[Service] # 定义服务的配置
User=httpd # 指定运行服务的用户
ExecStart=/usr/sbin/httpd $HTTPD_ARGS # 指定启动服务的命令和参数
Restart=always # 指定服务失败时自动重启的策略[Install] # 定义安装信息
WantedBy=multi-user.target # 指定服务所属的目标,即在哪个环境下启动此服务
reload systemd 服务
[root@root ~]# systemctl daemon-reload
3.4、查看Apache的相关信息
Apache在安装时已经自动采用了一系列的默认设置,安装完成后Web服务器已经可以对外提供WWW服务,但为了能够更好地运作,还需要对Apache进行一些配置。
显示 Apache 服务器的版本信息,包括版本号、操作系统、编译器和其他相关信息
[root@root ~]# httpd -V
Server version: Apache/2.4.57 (CentOS Stream)
Server built: Feb 7 2024 00:00:00
Server's Module Magic Number: 20120211:127
Server loaded: APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
Compiled using: APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
Architecture: 64-bit
Server MPM: eventthreaded: yes (fixed thread count)forked: yes (variable process count)
Server compiled with....-D APR_HAS_SENDFILE-D APR_HAS_MMAP-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)-D APR_USE_PROC_PTHREAD_SERIALIZE-D APR_USE_PTHREAD_SERIALIZE-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT-D APR_HAS_OTHER_CHILD-D AP_HAVE_RELIABLE_PIPED_LOGS-D DYNAMIC_MODULE_LIMIT=256-D HTTPD_ROOT="/etc/httpd"-D SUEXEC_BIN="/usr/sbin/suexec"-D DEFAULT_PIDLOG="run/httpd.pid"-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"-D DEFAULT_ERRORLOG="logs/error_log"-D AP_TYPES_CONFIG_FILE="conf/mime.types"-D SERVER_CONFIG_FILE="conf/httpd.conf"
返回结果解析
- 服务器版本号:Apache/2.4.57 (CentOS Stream)
- 服务器构建时间:Feb 7, 2024 00:00:00
- 服务器模块的魔术数字:20120211:127
- 加载的模块:APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
- 编译使用的模块:APR 1.7.0, APR-UTIL 1.6.1, PCRE 8.44 2020-02-12
架构:64位 - 服务器MPM(多处理模块):event
threaded:是(固定线程数)
forked:是(可变进程数) - 服务器编译时启用的选项
D APR_HAS_SENDFILE
D APR_HAS_MMAP
D APR_HAVE_IPV6(启用IPv4映射地址)
D APR_USE_PROC_PTHREAD_SERIALIZE
D APR_USE_PTHREAD_SERIALIZE
D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
D APR_HAS_OTHER_CHILD
D AP_HAVE_RELIABLE_PIPED_LOGS
D DYNAMIC_MODULE_LIMIT=256
D HTTPD_ROOT=“/etc/httpd”
D SUEXEC_BIN=“/usr/sbin/suexec”
D DEFAULT_PIDLOG=“run/httpd.pid”
D DEFAULT_SCOREBOARD=“logs/apache_runtime_status”
D DEFAULT_ERRORLOG=“logs/error_log”
D AP_TYPES_CONFIG_FILE=“conf/mime.types”
D SERVER_CONFIG_FILE=“conf/httpd.conf”
显示 Apache 服务器的版本信息,包括版本号、操作系统、编译器和其他相关信息
[root@root ~]# rpm -qi httpd
Name : httpd
Version : 2.4.57
Release : 8.el9
Architecture: x86_64
Install Date: Fri 14 Jun 2024 06:59:10 PM CST
Group : Unspecified
Size : 60837
License : ASL 2.0
Signature : RSA/SHA256, Sun 18 Feb 2024 07:10:56 AM CST, Key ID 05b555b38483c65d
Source RPM : httpd-2.4.57-8.el9.src.rpm
Build Date : Wed 14 Feb 2024 08:31:16 PM CST
Build Host : x86-03.stream.rdu2.redhat.com
Packager : builder@centos.org
Vendor : CentOS
URL : https://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
返回结果解析
- 名称(Name):httpd
- 版本(Version):2.4.57
- 发布号(Release):8.el9
- 架构(Architecture):x86_64
- 安装日期(Install Date):Fri 14 Jun 2024 06:59:10 PM CST
- 组(Group):Unspecified
大小(Size):60837
许可证(License):ASL 2.0 - 签名(Signature):RSA/SHA256, Sun 18 Feb 2024 07:10:56 AM CST, Key ID 05b555b38483c65d
- 源RPM(Source RPM):httpd-2.4.57-8.el9.src.rpm
- 构建日期(Build Date):Wed 14 Feb 2024 08:31:16 PM CST
- 构建主机(Build Host):x86-03.stream.rdu2.redhat.com
- 打包者(Packager):builder@centos.org
- 供应商(Vendor):CentOS
- URL:https://httpd.apache.org/
- 摘要(Summary):Apache HTTP Server
- 描述(Description): The Apache HTTP Server is a powerful, efficient, and extensible web server.
显示 Apache 服务器的软件包信息,包括版本号、安装日期、大小和其他相关信息
[root@root ~]# rpm -qi httpd
Name : httpd
Version : 2.4.57
Release : 8.el9
Architecture: x86_64
Install Date: Fri 14 Jun 2024 06:59:10 PM CST
Group : Unspecified
Size : 60837
License : ASL 2.0
Signature : RSA/SHA256, Sun 18 Feb 2024 07:10:56 AM CST, Key ID 05b555b38483c65d
Source RPM : httpd-2.4.57-8.el9.src.rpm
Build Date : Wed 14 Feb 2024 08:31:16 PM CST
Build Host : x86-03.stream.rdu2.redhat.com
Packager : builder@centos.org
Vendor : CentOS
URL : https://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
3.5、查看Apache被编译的模块
显示 Apache 服务器已经启用的模块列表
[root@root ~]# httpd -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::216:3eff:fe0d:5001%eth0. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:core_module (static)so_module (static)http_module (static)access_compat_module (shared)actions_module (shared)alias_module (shared)allowmethods_module (shared)
显示 Apache 服务器已经编译的模块列表
[root@root /]# httpd -l
Compiled in modules:core.cmod_so.chttp_core.c
3.6、修改监听端口
编辑 Apache 的配置文件
[root@root /]# vi /etc/httpd/conf/httpd.conf
Listen 8080
reload Apache 服务
[root@root /]# systemctl reload httpd
restart Apache 服务
[root@root /]# systemctl restart httpd
验证 Apache 服务的监听端口
[root@root /]# netstat -tlnp | grep httpd
tcp6 0 0 :::8080 :::* LISTEN 108025/httpd