httpd 保姆级教程

Welcome to The Apache Software Foundation!Home page of The Apache Software Foundationicon-default.png?t=N7T8https://www.apache.org/

目录

httpd

APR

Apr-util

Pcre

1. 引言

在现代Web开发和服务器管理中,httpd(Apache HTTP Server)是最流行的Web服务器软件之一。作为开源项目,Apache HTTP Server为用户提供了稳定、灵活和高度可配置的Web服务解决方案。本文将详细介绍httpd服务的各个方面,包括其定义、架构、工作原理、应用场景、常见命令体系以及实验场景模拟。

2. httpd 的定义

Apache HTTP Server,通常称为httpd或Apache,是一个开源的Web服务器软件,由Apache软件基金会开发和维护。httpd支持HTTP/1.1和HTTPS协议,广泛应用于全球各类网站和Web应用。作为一款高度可扩展和灵活的Web服务器,httpd支持多种模块扩展,可以满足各种不同的需求。

3. httpd 的架构

Apache HTTP Server的架构设计高度模块化,主要包括以下几个核心组件:

        1.核心模块:处理基本的HTTP请求和响应。
        2.多处理模块(MPM):负责管理服务器的并发处理能力,如worker、event和prefork等不同的MPM模块。
        3.扩展模块:提供额外的功能,如mod_ssl(支持SSL/TLS)、mod_rewrite(URL重写)、mod_proxy(反向代理)等。
        4.配置文件:主要是httpd.conf文件,用于定义服务器的行为和设置。
        5.日志系统:记录服务器的访问日志和错误日志,用于监控和调试。
4. httpd 的工作原理

httpd的工作流程可以简要分为以下几个步骤:

        1.接受请求:服务器监听指定端口(默认是80或443端口),等待客户端发送HTTP请求。
        2.解析请求:服务器接收并解析HTTP请求头,提取请求方法、URI、协议版本等信息。
        3.处理请求:根据配置文件和请求信息,服务器选择适当的模块处理请求,如静态文件请求或动态内容生成。
        4.生成响应:服务器生成HTTP响应头和响应体,将结果返回给客户端。
        5.记录日志:服务器将请求和响应的信息记录到日志文件中。
5. httpd 的应用场景

httpd在许多场景下得到了广泛应用,主要包括以下几个方面:

        1.静态网站托管:提供静态文件(如HTML、CSS、JavaScript等)的托管服务。
        2.动态Web应用:与后端服务器(如PHP、Python、Node.js等)协作,生成动态内容。
        3.反向代理:作为前端代理服务器,分发请求到后端服务器集群,提高系统的性能和可用性。
        4.SSL/TLS 加密:通过mod_ssl模块提供HTTPS服务,确保数据传输的安全性。
        5.负载均衡:通过mod_proxy_balancer模块实现负载均衡,提高服务器的处理能力。
6. httpd 在 CentOS 上的常见命令

在CentOS上使用httpd服务,可以通过以下步骤进行安装、配置和使用:

网址:wWelcome to The Apache Software Foundation!

这里面有历史版本

httpd

wget https://archive.apache.org/dist/httpd/httpd-2.4.53.tar.gz

解压 tar -zxvf httpd-2.4.53.tar.gz

进入 cd httpd-2.4.53/

./configure --prefix=/user/local/httpd/  检查编译环境

报错,缺少APR,下载APR进行安装

APR

wget https://archive.apache.org/dist/apr/apr-1.7.0.tar.gz

解压tar -zxvf apr-1.7.0.tar.gz

进入 cd apr-1.7.0/

./configure --prefix=/usr/local/apr   检查编译环境

yum -y install gcc gcc-c++ autoconf make     #安装gcc

继续编译apr

./configure --prefix=/usr/local/apr

检查是否安装libtool,如未安装,执行安装

rpm -qa|grep libtool #检查是否安装

yum install libtool -y #安装libtool

之后继续安装,如依然报错,修改文件configure第31280行

ll 查询

vim configure

31280 G

继续编辑apr

make 编译

make install 编译安装

Apr-util

Wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz

进入apr-util cd apr-util-1.6.1/

./configure --prefix=aprutil的安装路径 --with-依赖软件的名称=依赖软件的安装路 径/bin/apr-1-config

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1- config

检查编译

make  编译

编译报错,缺少expat包

安装expat

yum install -y expat-devel*

继续编译apr –util

make && make install

继续检查HTTPd的编译环境

./configure --prefix=/usr/local/httpd

依然报错

添加apr 和apr-util 的路径

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config

Pcre

wget

https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz

tar -zxvf pcre2-10.39.tar.gz #解压

./configure --perfix=/usr/local/pcre #检查编译环境

make && make install #编译安装

继续检查HTTPd的编译环境,添加pcre的路径

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre/bin/pcre2-config

安装编译  make

报错 缺少libxml2-devel 安装

yum install -y libxml2-devel

等上面的弄了一遍之后重新运行安装

进入 cd apr-1.7.0/

./configure --prefix=/usr/local/apr

make && make install

进入apr-util

cd apr-util-1.6.1/

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1- config

make && make install

进入 pcre

cd pcre2-10.39

./configure --prefix=/usr/local/pcre

make && make install

进入 httpd

进入 cd httpd-2.4.53/

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre/bin/pcre2-config

make && make install

安装完成后设置防火墙

配置防火墙

firewall-cmd --permanent --add-service=http

者将80端口配置到防火墙

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新启动防火墙

firewall-cmd –reload

启停HTTPD服务

/usr/local/httpd/bin/apachectl start    启动

/usr/local/httpd/bin/apachectl stop     停止

报错,配置httpd/conf/htttpd.conf文件,查找添加:  195行

#ServerName www.example.com:80

ServerName localhost:80

编写测试网页 在/usr/local/httpd/htdocs路径下编写index.html文件

总结:到最后 访问页面如果端口号冲突 用 rpm –q httpd 查询是否存在

                                                               存在就删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值