源码编译安装Apache

news2024/12/29 10:26:43

目录

✨apache安装步骤

🍭挂载镜像

🍭解压并安装

🍭安装主程序

🍭优化链接及服务

🍭查看httpd模块

🍭查看mpm配置文件

🍭查看apache主页

🍭使用ab命令进行压力测试


   🦐博客主页:大虾好吃吗的博客

   🦐专栏地址:Linux从入门到精通

 

apache安装步骤

  • 检查是否已经rpm安装httpd服务,已安装则卸载服务。
[root@localhost ~]# rpm -e `rpm -qa | grep httpd` --nodeps
  • 开发工具安装

        如果编译安装无法执行,可能是开发工具没有安装,执行下面命令即可安装。(如已安装则跳过即可)。

[root@localhost ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
  • httpd安装

挂载镜像

        查看虚拟机使用ISO镜像,设备状态勾选已连接和启动时连接后确定即可。

解压并安装

 [root@localhost ~]# mkdir /sh
 [root@localhost ~]#  cd /sh
 [root@localhost sh]# vim add.sh
#!/bin/bash
mount /dev/cdrom /media/
tar zxf /media/apr-1.5.2.tar.gz -C /usr/src
cd /usr/src/apr-1.5.2
./configure --prefix=/usr/local/apr && make && make install
tar zxf /media/apr-util-1.5.4.tar.gz -C /usr/src
cd /usr/src/apr-util-1.5.4
./configure --prefix=/usr/locl/apr-util --with-apr=/usr/local/apr && make && make install
yum -y install zlib-*
tar zxf /media/pcre-8.39.tar.gz -C /usr/src
cd /usr/src/pcre-8.39
./configure --prefix=/usr/local/pcre && make && make install
tar zxf /media/openssl-1.0.1u.tar.gz -C /usr/src
cd /usr/src/openssl-1.0.1u
./config -fPIC --prefix=/usr/local/openssl enable-shared && make && make install
保存退出脚本并执行脚本文件,等待脚本执行完成并确认成功。
[root@localhost sh]# sh add.sh

安装主程序

        下面通过脚本来安装主程序。

[root@localhost sh]# vim httpd.sh
#!/bin/bash
tar zxf /media/httpd-2.4.25.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.25
./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate && make && make install

        保存退出脚本并执行脚本文件,等待脚本执行完成并确认成功。

优化链接及服务

[root@localhost sh]# ln -s /usr/local/httpd/bin/* /usr/local/bin //链接优化
[root@localhost sh]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //添加服务
[root@localhost sh]# vim /etc/init.d/httpd
第二行添加下面两行命令
# chkconfig: 35 85 15     \\声明服务启动级别,开机启动顺序,关机关闭顺序
# description: apache 2.4.25 \\服务声明,简要信息
保存并退出


[root@localhost sh]# chkconfig --add httpd //添加到系统服务
[root@localhost sh]# chkconfig httpd on //设置开机自启
[root@localhost sh]# systemctl start httpd //开启服务

查看httpd模块

        安装后可以通过下面三行命令查看各项模块。

httpd -V         #查看版本和已装模块

httpd -l           #只查看静态编译模块

httpd -M         #查看所有模块  

查看mpm配置文件

vim /usr/local/httpd/conf/extra/httpd-mpm.conf

<IfModule mpm_event_module>

StartServers 3                                             #apache 启动时候默认开始的子进程数

MinSpareThreads 75                                  #最小空闲数量的工作线程

MaxSpareThreads 250                               #最大空闲数量的工作线程

ThreadsPerChild 25                                    #每个子进程产生的线程数量

MaxRequestWorkers 400                            #允许同时的最大接入请求数量

MaxConnectionsPerChild 0                         #每个子进程可处理的请求数

</IfModule>

#企业推荐参数

<IfModule mpm_worker_module>

StartServers          2                          #推荐设置:小=默认 中=3~5 大=5~10

MaxClients          150                        #推荐设置:小=500 中=500~1500 大型=1500~3000

MinSpareThreads      25                   #推荐设置:小=默认 中=50~100 大=100~200

MaxSpareThreads      75                  #推荐设置:小=默认 中=80~160 大=200~400 ThreadsPerChild      25                     #推荐设置:小=默认 中=50~100 大型=100~200

MaxRequestsPerChild   0                 #推荐设置:小=10000 中或大=10000~50000(此外,如果MaxClients/ThreadsPerChild大于16,还需额外设置ServerLimit参数,ServerLimit必须大于等于 MaxClients/ThreadsPerChild 的值。)

</IfModule>

查看apache主页

        通过访问http://192.168.1.2可以看到apache默认网站。

使用ab命令进行压力测试

        通过上面命令已经启动httpd服务,通过ab工具测试httpd服务,如未安装通过下面命令安装ab命令工具(打开第二台服务器对第一台httpd服务器进行测试)。

[root@localhost ~]# yum -y install httpd-tools
安装完毕后执行下面命令对服务器进行200人并发访问,发出10000个请求。
[root@localhost ~]# ab -c 200 -n 10000 http://192.168.1.2/index.html
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.1.2 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache/2.4.25
Server Hostname:        192.168.1.2
Server Port:            80

Document Path:          /index.html
Document Length:        45 bytes

Concurrency Level:      200
Time taken for tests:   3.803 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      2890000 bytes
HTML transferred:       450000 bytes
Requests per second:    2629.29 [#/sec] (mean)
Time per request:       76.066 [ms] (mean)
Time per request:       0.380 [ms] (mean, across all concurrent requests)
Transfer rate:          742.06 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   22 153.7      2    3008
Processing:     8   47  34.1     44     451
Waiting:        4   44  33.0     43     435
Total:         28   69 157.9     46    3057

Percentage of the requests served within a certain time (ms)
  50%     46
  66%     49
  75%     51
  80%     54
  90%     62
  95%     80
  98%    267
  99%   1048
 100%   3057 (longest request)

        通过以上操作就对httpd服务的配置完成了,关于其他配置敬请期待。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【idea】win 10 / win 11:idea 、Alibaba Dragonwell 11、maven、git下载与安装

目录 一、安装 jdk&#xff1a;Alibaba Dragonwell 11 &#xff08;1&#xff09;下载&#xff1a;Alibaba Dragonwell 11 &#xff08;2&#xff09;解压&#xff1a;Alibaba Dragonwell 11 &#xff08;3&#xff09;配置系统环境变量&#xff1a;jdk &#xff08;4&a…

二、虚拟机克隆和快照

1.虚拟机克隆 如果你已经安装了一台Linux操作系统&#xff0c;你还想要更多的&#xff0c;这个时候没有必要重新装&#xff0c;只需要克隆就可以 方式1&#xff1a;直接拷贝一份安装好的虚拟机文件 方式2&#xff1a;使用vmware的克隆操作 注意&#xff0c;克隆时&#xff0c;…

“深入理解C++类默认成员函数:探索构造、析构与复制“

文章目录 类的8个默认成员函数构造函数析构函数拷贝构造移动构造赋值运算符重载移动赋值运算符重载取地址及const取地址操作符重载 强制生成默认函数的关键字default禁止生成默认函数的关键字delete 类的8个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空…

[黑马程序员SpringBoot2]——基础篇1

目录&#xff1a; SpringBoot入门案例&#xff08;Idea联网版&#xff09;SpringBoot入门案例&#xff08;官网创建版&#xff09;SpringBoot入门案例&#xff08;阿里云版&#xff09;SpringBoot入门案例&#xff08;手工制作版&#xff09;教你一招&#xff0c;隐藏文件或文件…

【大数据】Hadoop

文章目录 概述Hadoop组成HDFSMapReduce写MapReduce程序&#xff08;Hadoop streaming&#xff09; YARNHadoop 启动 工作方式Hadoop的主从工作方式Hadoop的守护进程 运行模式本地运行模式伪分布式运行模式完全分布式运行模式 Hadoop高可用的解决方案ZooKeeper quorumZKFC 环境搭…

k8s集群镜像下载加gradana监控加elk日志收集加devops加秒杀项目

展示 1.配套资料2.devops 3.elk日志收集 4.grafana监控 5.dashboard![在这里插入图片描述](https://img-blog.csdnimg.cn/bf294f9fd98e4c038858a6bf5c34dbdc.png 目的 学习k8s来来回回折腾很久了&#xff0c;光搭个环境就能折腾几天。这次工作需要终于静下心来好好学习了一…

WebAPI项目在Linux服务器上部署记录

对已有的WebAPI项目进行发布 发布流程 需要把publish的文件夹直接上传至linux服务器 在Linux服务器上部署环境 检查是否安装了dotnet环境 直接命令行输入 dontnet&#xff0c;如果弹出的是下面的语句&#xff0c;说明没有安装dotnet环境 -bash: dotnet:command not found…

软件开发工具总结篇

作为软件开发人员&#xff0c;我们需要使用许多工具来帮助我们完成工作。这些工具包括编程语言、编辑器、集成开发环境&#xff08;IDE&#xff09;和其他辅助工具。在本文中&#xff0c;我们将讨论一些常见的软件开发工具&#xff0c;并对它们进行比较。 编程语言 编程语言是…

SpringCloud复习:(1)netflix包里的DiscoveryClient类

DiscoveryClient类实现了EurekaClient接口 它的主要作用&#xff1a;服务注册&#xff0c;服务续约&#xff0c;服务下线&#xff0c;获取服务列表。 initScheduledTasks方法用来开启定时任务来完成上述功能。 上图中的代码用来从服务器定期&#xff08;默认30秒&#xff09;…

TLSR825x之BDT烧录固件

泰凌烧录调试工具&#xff08;BDT&#xff09;适用于泰凌全系列。在SDK开发过程中&#xff0c;BDT的功能包括“擦除Flash扇区”、“下载固件”、“通信失败时激活MCU”、“访问包括FLASH /CORE /ANALOG /OTP在内的存储空间”、“读/写全局变量”和“查看USB 日志”。 泰凌BDT_…

解密一致性哈希算法:实现高可用和负载均衡的秘诀

解密一致性哈希算法&#xff1a;实现高可用和负载均衡的秘诀 前言第一&#xff1a;分布式系统中的数据分布问题&#xff0c;为什么需要一致性哈希算法第二&#xff1a;一致性hash算法的原理第三&#xff1a;一致性哈希算法的优点和局限性第四&#xff1a;一致性哈希算法的安全性…

初识JAVA,带你入门

本章重点&#xff1a; 1. Java语言简介、发展概述、语言优势、与C/C区别 2. 初识Java程序入口之main方法 3. 注释、标识符、关键字 1. Java语言概述 1.1 Java是什么&#xff1f; Java是一种优秀的程序设计语言&#xff0c;它具有令人赏心悦目的语法和易于理解的语义…

结构体、枚举、位段、联合体详解

&#x1f388;个人主页&#xff1a;.满船清梦压星河_-CSDN博客 &#x1f302;c/c领域新星创作者 &#x1f389;欢迎&#x1f44d;点赞✍评论❤️收藏 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xf…

虚拟机安装centos系统后配置桥接网络

一.桥接网络和nat网络的区别 桥接模式 通过使用物理机网卡 具有单独ip,但是需要手动配置。 在bridged模式下&#xff0c;VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机&#xff0c;它可以访问网内任何一台机器。主机网卡和虚拟网卡的IP地址处于同一个网段&#xff…

SVN服务数据迁移(windows)

1.原服务器和目标服务器都要安装VISUALSVN SERVER(官方下载地址) 2.在原svn服务器备份 得到备份文件&#xff0c;并传至新服务器 3.在新服务器恢复备份 选择备份文件 输入仓库名 4.检验文件和历史记录是否完整

我的创作纪念日 - 第四年

机缘 几乎自己的所有文章都用同一个模板&#xff0c;虽然高效&#xff0c;但也乏味&#xff0c;就让每年都有一次例外吧。 不知不觉已经过去了四年了&#xff0c;虽然很早就在CSDN查阅资料&#xff0c;但是真正落笔创作是在4年前。那个时候自己已经是一个从事培训讲师&#x…

人机关系中不但有“是否”还有“是非”

“是否”和“是非”的区别在于它们所提问的内容和性质不同。 “是否”用于提问某个事件或行为是否发生或存在&#xff0c;通常可以回答“是”或“否”。例如&#xff0c;“你今天早上吃早餐了吗&#xff1f;”这个问题用的就是“是否”&#xff0c;可以回答“是”或“否”。 而…

【JavaEE】网络编程---TCP数据报套接字编程

一、TCP数据报套接字编程 1.1 ServerSocket API ServerSocket 是创建TCP服务端Socket的API ServerSocket 构造方法&#xff1a; ServerSocket 方法&#xff1a; 1.2 Socket API Socket 是客户端Socket&#xff0c;或服务端中接收到客户端建立连接&#xff08;accept方法&…

IP-guard发布新版本4.82.624.0

http://www.tec-development.com/down/IPguard/Release/V4/IPguard4.82.0624.0.zip?s=44869B0835D388673FC6DB5F45C1E0E876895C1108B86C7E76877511EB1018A4http://www.tec-development.com/down/IPguard/Release/V4/IPguard4.82.0624.0.zip?s=44869B0835D388673FC6DB5F45C1E0…

JAVA-TreeSet使用方式

1. TreeSet 在一次写力扣题的时候&#xff0c;用到了TreeSet&#xff0c;这里记录一下TreeSet的常用方式。 TreeSet的特点&#xff1a;有序&#xff0c;不可重复&#xff0c;红黑树&#xff0c;基于Treemap实现&#xff0c;自定义排序等特点。 java中实现的Set有HashSet ,Lin…