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

文章目录

  • 一、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    

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在VS Code中操作MySQL数据库

【基础篇】 【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境(详细版)_vscode php-CSDN博客 ~~~~~~~~~~~~~~~~~~~~~~~~~ 在VS Code中下载插件 Prettier SQL VSCode 和 MySQL : 随后在VS Code中点击Database图标 在连接界面输入MySQL数据库…

Unity可视化Shader工具ASE介绍——自定义函数

阿赵的Unity可视化Shader工具ASE介绍目录   大家好,我是阿赵。   之前介绍过一些ASE的用法,发现漏了一个比较重要的,自定义函数的使用。这里补充一下。 一、 使用的场合 在使用ASE制作Shader的过程中,可能会遇到以下这些情况…

聊聊我在新加坡的近况

我是 2022 年 4 月初过来新加坡的,然后两个月后就把老婆孩子们也接了过来。时至今日,已经两年半有余了。 22 年 8 月初的时候,写过一篇文章「聊聊我在新加坡的生活和工作体验」,没想到成了一篇热门文章,在知乎上不知不…

贪心算法入门(一)

1.什么是贪心算法? 贪心算法是一种解决问题的策略,它将复杂的问题分解为若干个步骤,并在每一步都选择当前最优的解决方案,最终希望能得到全局最优解。这种策略的核心在于“最优”二字,意味着我们追求的是以最少的时间和…

深度强化学习-学习笔记

1.PPO (1)DeepMind公司发明的算法PPO (2)OpenAI公司发明的算法PPO2; 近端策略优化算法(proximal policy optimization,PPO) Actor 网络输出在给定状态 S下采取每个动作的概率分布&a…

pytest脚本常用的执行命令

pytest脚本常用的执行命令 一、一般执行的脚本,执行.py文件整个脚本二、执行.py文件脚本中的一个模块三、执行脚本,执行.py文件整个脚本,或则一个模块,查看对应的日志信息3.1.py文件执行allure的脚本3.2去dos框下去执行对应的脚本…

【水果数据集】水果品种识别 人工智能 机器学习(含数据集)

一、背景意义 随着智能农业和食品管理系统的发展,准确识别不同水果种类变得尤为重要。水果种类数据集是针对水果识别与分类的深度学习项目而建立的重要资源。通过自动化的水果识别系统,农场主能够实时监控水果的种类和成熟度,从而优化采摘和销…

Android平台RTSP|RTMP播放器高效率如何回调YUV或RGB数据?

技术背景 我们在做Android平台RTSP、RTMP播放器的时候,经常遇到这样的技术诉求,开发者希望拿到播放器解码后的YUV或RGB数据,投递给视觉算法,做AI分析,本文以ffmpeg和大牛直播SDK的SmartPlayer为例,介绍下相…

计算机网络-MSTP概述

一、RSTP/STP的缺陷与不足 前面我们学习了RSTP对于STP的一些优化与快速收敛机制。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,导致…

ios 快捷指令扩展(Intents Extension)简单使用 swift语言

本文介绍使用Xcode15 建立快捷指令的Extension,并描述如何修改快捷指令的IntentHandler,带参数跳转主应用;以及展示多个选项的快捷指令弹框(配置intentdefinition文件),点击选项带参数跳到主应用的方法 创建快捷指令 快捷指令是…

智能财务 | 数据与融合,激发企业财务数智化转型思考

数据与融合,激发企业财务数智化转型思考 用友持续深耕企业财务领域,见证中国企业走过了财务电算化、信息化时代,当下共同经历数智化时代。2023 年度,通过走访标杆企业,与高校教授、权威机构学者共同探讨等形式&#xf…

openpnp - 解决“底部相机高级校正成功后, 开机归零时,吸嘴自动校验失败的问题“

文章目录 openpnp - 解决"底部相机高级校正成功后, 开机归零时,吸嘴自动校验失败的问题"概述笔记问题现象1问题现象2原因分析现在底部相机和吸嘴的位置偏差记录修正底部相机位置现在再看看NT1在底部相机中的位置开机归零,看看是否能通过所有校…

DreamClear:中科院与字节联合推出!隐私安全优先的高性能图像修复技术

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦! 🥦 微信公众号&#xff…

SpringBoot驱动的毕业生招聘信息平台

1 系统概述 1.1 概述  随着社会的快速发展,计算机的影响是全面且深入的。人们的生活水平不断提高,日常生活中毕业生对招聘平台方面的要求也在不断提高,需要招聘平台的人数更是不断增加,使得毕业生信息招聘平台的开发成为必需而且…

Mac程序坞窗口预览的方法来了

当你同一程序内打开的窗口过多的时候,在Mac上想要切换就只能打开程序然后在内部进行切换,没办法直达你想要打开的窗口,多了一步的操作,那么如何才能一步到位呢 如果程序坞有应用程序的缩略图,是不是就可以一步到位了&…

【C/C++】结构体的定义

零.导言 在上一篇博客中,我讲解了qsort函数,并在其中提到了结构体数组的排序,那么结构体是什么呢? 接下来我将详细讲解结构体的定义。 一,结构体是什么? 结构体是自定义的数据类型,可以存放自定义的数据。…

JavaScript 中如何识别异步函数?

我们如何判断一个函数是否是异步函数(async function)呢? 遇到问题的思考过程是什么呢,首先需要找到二者的区别,那就打印看一下,然后在思考如何做。 由此可以看出二者的差异。 1、使用 typeof 检查函数类…

springboot学生请假管理系统-计算机毕业设计源码12712

摘 要 从20年代开始,计算机在人们的生活和工作中广泛应用,成为了人们生活、工作的得力助手。计算机深入到每个家庭和每个工作场所,网络办公和网络教学取代了传统的手工记录和管理方式。使用计算机办公可以不受时间和地点限制,通过…

频率限制:WAF保护网站免受恶意攻击的关键功能

频率限制(Rate Limiting)是一项有效的安全措施,用于控制每个 IP 地址的访问速率,以防止恶意用户利用大量请求对网站进行攻击,例如防止 CC 攻击等。频率限制不仅能保护网站资源,还能提升服务的稳定性。 下面…

ClickHouse 神助攻:纽约城市公共交通管理(MTA)数据应用挑战赛

本文字数:13198;估计阅读时间:33 分钟 作者:The PME Team 本文在公众号【ClickHouseInc】首发 我们一向对开放数据挑战充满热情,所以当发现 MTA(城市交通管理局)在其官网发起了这样的挑战时&…