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 查询是否存在

                                                               存在就删除

好的,下面是详细的保姆教程: 1. 安装Web服务器、PHP和MySQL 在Linux服务器上安装Web服务器、PHP和MySQL是部署PHPThink5项目的第一步。具体的安装过程可以参考Web服务器、PHP和MySQL的官方文档或者其他相关教程。 2. 下载PHPThink5的压缩包并解压 在Linux服务器上下载PHPThink5的压缩包并解压到你想要部署的目录中,可以使用以下命令: ``` wget https://github.com/top-think/think/archive/5.1.52.tar.gz tar -zxvf 5.1.52.tar.gz ``` 其中`https://github.com/top-think/think/archive/5.1.52.tar.gz`是PHPThink5的压缩包下载链接,可以根据自己的需要选择不同的版本。 3. 创建MySQL数据库并配置 在MySQL中创建一个新的数据库,并将数据库信息配置到`application/database.php`文件中,具体的步骤如下: - 登录MySQL: ``` mysql -u root -p ``` - 创建一个新的数据库: ``` CREATE DATABASE your_database_name; ``` - 创建一个新的MySQL用户并授权: ``` CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost'; ``` - 退出MySQL: ``` exit; ``` - 将数据库信息配置到`application/database.php`文件中: ``` // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'your_database_name', // 数据库用户名 'username' => 'your_username', // 数据库密码 'password' => 'your_password', // 数据库编码默认采用utf8 'charset' => 'utf8', ``` 4. 安装Composer依赖 在终端中切换到PHPThink5目录下,运行以下命令安装Composer依赖: ``` cd think-5.1.52 composer install ``` 这个过程可能需要一些时间,取决于你的网络速度和计算机性能。 5. 生成应用目录 运行以下命令生成应用目录: ``` php think build ``` 这个命令会在当前目录下生成一个`runtime`目录和一个`application`目录。其中`application`目录是你的应用程序目录,`runtime`目录是PHPThink5的运行时目录。 6. 配置Web服务器 配置Web服务器,使其指向PHPThink5的`public`目录。具体的配置方式取决于你使用的Web服务器,下面以Apache为例: - 打开Apache的配置文件: ``` sudo nano /etc/httpd/conf/httpd.conf ``` - 找到以下行: ``` DocumentRoot "/var/www/html" ``` - 修改为: ``` DocumentRoot "/path/to/think-5.1.52/public" ``` 其中`/path/to/think-5.1.52`是你解压PHPThink5的目录。 - 找到以下行: ``` <Directory "/var/www/html"> ``` - 修改为: ``` <Directory "/path/to/think-5.1.52/public"> ``` - 重启Apache: ``` sudo systemctl restart httpd ``` 7. 访问应用程序 访问你的Web服务器,应该能够看到PHPThink5的欢迎界面。如果你使用的是Apache Web服务器,在浏览器中输入以下URL: ``` http://your_server_ip/ ``` 其中`your_server_ip`是你的服务器IP地址。 注意事项: - 在部署之前,确保你已经正确地配置了Web服务器、PHP和MySQL,否则你的应用无法正常运行; - 在部署之前,建议先在本地环境中测试你的应用,确保没有问题再进行部署; - 在部署之后,建议关闭调试模式,以提高应用的安全性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值