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

bash 复制代码
[root@root ~]# yum install httpd

启动 Apache 服务

bash 复制代码
[root@root ~]# systemctl start httpd

设置开机自启

bash 复制代码
[root@root ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

查看apache状态

bash 复制代码
[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服务

bash 复制代码
[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 进程的信息

bash 复制代码
[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

bash 复制代码
[root@root ~]# pgrep httpd
105467
105470
105471
105472
105473

显示当前运行的 Apache 进程的网络连接信息

bash 复制代码
[root@root ~]# netstat -tlnp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      105467/httpd   

3.3、编写开机自动启动脚本

创建一个 systemd 服务文件

bash 复制代码
[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 服务

bash 复制代码
[root@root ~]# systemctl daemon-reload

3.4、查看Apache的相关信息

Apache在安装时已经自动采用了一系列的默认设置,安装完成后Web服务器已经可以对外提供WWW服务,但为了能够更好地运作,还需要对Apache进行一些配置。

显示 Apache 服务器的版本信息,包括版本号、操作系统、编译器和其他相关信息

bash 复制代码
[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 服务器的版本信息,包括版本号、操作系统、编译器和其他相关信息

bash 复制代码
[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 服务器的软件包信息,包括版本号、安装日期、大小和其他相关信息

bash 复制代码
[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 服务器已经启用的模块列表

bash 复制代码
[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 服务器已经编译的模块列表

bash 复制代码
[root@root /]# httpd -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c

3.6、修改监听端口

编辑 Apache 的配置文件

bash 复制代码
[root@root /]# vi /etc/httpd/conf/httpd.conf
Listen 8080

reload Apache 服务

bash 复制代码
[root@root /]# systemctl reload httpd

restart Apache 服务

bash 复制代码
[root@root /]# systemctl restart httpd

验证 Apache 服务的监听端口

bash 复制代码
[root@root /]# netstat -tlnp | grep httpd
tcp6       0      0 :::8080                 :::*                    LISTEN      108025/httpd    
相关推荐
odoo-卜永12 分钟前
ubuntu22.04连接爱普生打印机型号L385
linux·经验分享·ubuntu
庸俗今天不摸鱼15 分钟前
【万字总结】前端全方位性能优化指南(十)——自适应优化系统、遗传算法调参、Service Worker智能降级方案
前端·性能优化·webassembly
xyliiiiiL17 分钟前
一文总结常见项目排查
java·服务器·数据库
黄毛火烧雪下22 分钟前
React Context API 用于在组件树中共享全局状态
前端·javascript·react.js
Apifox32 分钟前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
一张假钞35 分钟前
Firefox默认在新标签页打开收藏栏链接
前端·firefox
高达可以过山车不行35 分钟前
Firefox账号同步书签不一致(火狐浏览器书签同步不一致)
前端·firefox
m0_5937581036 分钟前
firefox 136.0.4版本离线安装MarkDown插件
前端·firefox
掘金一周39 分钟前
金石焕新程 >> 瓜分万元现金大奖征文活动即将回归 | 掘金一周 4.3
前端·人工智能·后端
小麦嵌入式1 小时前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu