当前位置: 首页> 教育> 培训 > Linux(CentOS7)部署httpd-2.4.37源码包

Linux(CentOS7)部署httpd-2.4.37源码包

时间:2025/7/12 2:42:01来源:https://blog.csdn.net/thetender/article/details/139937828 浏览次数:0次

httpd-2.4.37源码包安装

  • 准备工作apache
    • 安装httpd依赖
      • 安装apr-1.5.2.tar.xz
      • 安装apr-util-1.5.4
  • 安装httpd
      • 1. 解压并进入`httpd-2.4.37`文件夹
      • 2. 编写apache.sh脚本
      • 3. 安装`httpd`
      • 4. 运行测试是否成功
  • 不同端口号访问不同项目
      • 1. 修改配置文件
      • 2. 编写虚拟机配置文件
  • 打开apache对中文的支持

部署MySQL-5.6.31源码点击跳转
部署PHP-7.2.17源码包点击跳转

准备工作apache

  1. 下载源码包和依赖的源码包,资源见文章顶部
  2. 把压缩包内的文件上传到服务器,这里用MobaXterm远程连接工具

安装httpd依赖

安装apr-1.5.2.tar.xz

  1. 解压
tar xf apr-1.5.2.tar.xz
  1. 进入apr-1.5.2文件夹
cd ./apr-1.5.2/
  1. 安装apr
./configure && make && make install

安装apr-util-1.5.4

  1. 解压
tar xf apr-util-1.5.4.tar.xz
  1. 进入apr-util-1.5.4文件夹
cd ./apr-util-1.5.4/
  1. 指定软件apr的路径
./configure --with-apr=/usr/local/apr/bin/apr-1-config
  1. 安装apr-util
make && make install

安装httpd

防止默认安装,先卸载一下

yum remove httpd -y

1. 解压并进入httpd-2.4.37文件夹

tar xf httpd-2.4.37.tar.bz2
cd ./httpd-2.4.37/

2. 编写apache.sh脚本

vim apache.sh

编写内容

./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

配置参数说明(默认什么功能都没有,必须通过模块的进行添加!)
–enable-modules=all 加载所有支持模块
–enable-mods-shared=all 共享方式加载大部分常用的模块
–enable-so 启动动态模块加载功能
–enable-rewrite 启用url地址重写功能
–enable-ssl 编译ssl模块,支持https
–with-pcre 支持正则表达式
–with-apr=/usr/local/apr/bin/apr-1-config 指定依赖软件apr路径
–with-apr-util=/usr/local/apr/bin/apu-1-config 指向apr-util工具的路径
–with-mpm=prefork 插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM

–with-mpm选项说明
(1)prefork
多进程模型,每个进程响应一个请求
(2)worker
多进程多线程模型,每个线程处理一个用户请求
(3)event(最优)
事件驱动模型,多进程模型,每个进程响应多个请求

3. 安装httpd

apache.sh文件添加x执行权限

chmod +x apache.sh

运行apache.sh文件

./apache.sh

进行编译安装

make && make install

4. 运行测试是否成功

apachectl文件路径写到环境变量中

echo 'export PATH=$PATH:/usr/local/apache2/bin' >> /etc/profile

执行apachectl启动apache

apachectl start

可用选项start:启动;restart:重启;stop:停止
如果报错检查一下80端口是否占用
在浏览器输入IP地址或域名,成功的话可以看见下面这样的信息
在这里插入图片描述

不同端口号访问不同项目

假定在根目录下的www文件夹里有个html项目

mkdir -p /www/html

在其中新建一个index.html并编写用于测试,内容随便

vim /www/html/index.html

1. 修改配置文件

进入apache软件目录

cd/usr/local/apache2/

开始编辑httpd.conf文件

vim conf/httpd.conf

增加监听的端口,在52行Listen 80下面添加所需端口号

Listen 8080

开启虚拟主机的配置文件,找到下面代码,解掉注释,大概在490行

Include conf/extra/httpd-vhosts.conf

在最后一行编写下面配置

<Directory "/www/html">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted
</Directory>
  • Options Indexes FollowSymLinks 允许生成目录列表,改为Options FollowSymLinks就不允许
  • AllowOverride None不允许使用.htaccess文件来修改这个目录的配置
  • Require all granted允许所有用户自由访问这个目录中的内容,改为Require all denied就不允许

2. 编写虚拟机配置文件

编写httpd-vhosts.conf文件

vim conf/extra/httpd-vhosts.conf

文件内的内容为示例内容,删除或注释后将下面配置信息写在文件最后

<VirtualHost *:8080>DocumentRoot "/www/html"ServerName www.ceshi.comErrorLog "/www/logs/error_log"CustomLog "/www/logs/access_log" common
</VirtualHost>

保存并退出,重启即可生效

apachectl restart

打开apache对中文的支持

进入apache软件目录

cd/usr/local/apache2/

开始编辑httpd.conf文件

vim conf/httpd.conf

找到下面代码解掉注释保存并退出,大概在160行和482行

LoadModule negotiation_module modules/mod_negotiation.so
Include conf/extra/httpd-languages.conf

然后修改./conf/extra/httpd-languages.conf文件

vim conf/extra/httpd-languages.conf

找到下面代码,并修改我下面代码,大概在19行和78行

DefaultLanguage zh-CN
LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-TW	

重启即可生效

apachectl restart
关键字:Linux(CentOS7)部署httpd-2.4.37源码包

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: