Bootstrap

Linux中Web服务器配置和管理(Apache)


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 Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: active (running) since Fri 2024-06-14 19:00:09 CST; 49s ago
       Docs: 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.7M
        CPU: 90ms
     CGroup: /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 -DFOREGROUND

Jun 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 Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: inactive (dead) since Fri 2024-06-14 19:02:00 CST; 2s ago
   Duration: 1min 49.388s
       Docs: 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: 138ms

Jun 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:     event
  threaded:     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    : [email protected]
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):[email protected]
  • 供应商(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    : [email protected]
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.c
  mod_so.c
  http_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    
;