CentOS7.4 源码安装httpd-2.4.29

第一步:准备工作。查看系统是否已经安装了httpd,如果已经安装的话,将其卸载。

# 查看是否已经安装了httpd的相关rpm包
[root@VM_38_201_centos /]# cd /root/
[root@VM_38_201_centos ~]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.6.x86_64
httpd-2.4.6-67.el7.centos.6.x86_64
# 如果安装了,将其remove掉 
[root@VM_38_201_centos ~]#yum -y remove httpd*

第二步: 安装开发包组+软件依赖包

1、安装开发包组

安装开发包组属于通用过程,一般编译安装的时候,都需要用到开发包组提供的功能。

#安装开发包组,开发包组里面包含了很多的编译工具软件 
[root@iz2z ~]# yum groupinstall "Development tools" -y
2、安装软件依赖包

注:本文忽略了本机是否已安装过依赖,直接重新安装了所有依赖,也可以根据编译报错一步步安装;

[root@iz2z ~]# yum install apr-devel -y                                                             
[root@iz2z ~]# yum install apr-util-devel -y        
[root@iz2z ~]# yum install pcre-devel -y                                                                  
[root@iz2z ~]# yum install openssl-devel -y

第三步: 下载文件,解包

官网下载地址:http://httpd.apache.org/download.cgi

1、下载文件
[root@iz2z ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz
2、检查文件MD5值是否匹配:若不匹配需重新下载
[root@iz2z ~]# md5sum httpd-2.4.29.tar.gz 
6380b0856658f07479fdcba9e20294a6  httpd-2.4.29.tar.gz

3、解压文件

[root@iz2z ~]# tar -xzf httpd-2.4.29.tar.gz 
[root@iz2z ~]# ls
httpd-2.4.29  httpd-2.4.29.tar.gz

第四步: 编译和安装

进入到解压文件目录,依次运行以下命令:

[root@iz2z httpd-2.4.29]# ./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --enable-so --enable-rewrite
[root@iz2z httpd-2.4.29]# make
[root@iz2z httpd-2.4.29]# make install
注:安装时 ./configure 所接参数,可根据个人需求做出更改

第五步: 启用httpd服务

[root@iz2z ~]# /usr/local/apache2/bin/apachectl start
在浏览器中输入服务器ip,即可访问页面

也可以将路径配置到环境变量中:直接命令行中输入apachectl start即可启动

[root@iz2z ~]# echo export PATH=/usr/local/apache2/bin:$PATH >>/etc/profile
[root@iz2z ~]# source /etc/profile
[root@iz2z ~]# apachectl start

httpd 的简单配置:(未列出配置文件中的所有信息,只列出自己目前用到的)

[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/httpd.conf
#服务的路径
ServerRoot "/usr/local/httpd2"

#监听端口
Listen 8888
Listen 8081

#管理员的邮件(若服务出现了问题,会给管理员发邮件,前提是服务器能发出邮件)
ServerAdmin you@example.com

#域名信息
ServerName 127.0.0.1:80

#apache发布的目录
DocumentRoot "/usr/local/httpd2/htdocs"

<IfModule dir_module>
   #默认访问文件
    DirectoryIndex index.html
</IfModule>

#错误日志
ErrorLog "logs/error_log"
#警告级别:info debug error warn
LogLevel warn

#启用 rewrite 引擎
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com:8888 [NC]
RewriteRule ^/(.*)$ http://www.baidu.com/$1 [L]
LoadModule rewrite_module modules/mod_rewrite.so

#引用多域名的配置
#NameVirtualHost *:8081
Include conf/extra/httpd-vhosts.conf

#导入mpm详细配置
Include conf/extra/httpd-mpm.conf
[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 
#虚拟主机监听端口号
#NameVirtualHost *:8081
<VirtualHost *:8081>
    ServerAdmin webmaster@dummy-host.example.com
    #虚拟主机的发布目录
    DocumentRoot "/usr/local/apache2/htdocs/www1/"
    ServerName www.test1.com
#    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/error_log"
    CustomLog "logs/access_log" common
</VirtualHost>
mpm的参数设置可能不对,可自行百度进行相应设置
[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-mpm.conf 
#prefork MPM
<IfModule mpm_prefork_module>
    #启动的工作进程数  企业中一般配置8/10/16 不会太(默认初始化生成数量)
    StartServers            8
    #最多同时xx进程,一般与MaxClients相对应或者大于MaxClients
    MinSpareServers         10000
    #最小空闲进程
    MaxSpareServers         25
    #最大空闲进程
    MaxRequestWorkers       75
    #最大支持多少个客户端访问(最大工作进程,每秒处理数量)
    MaxClients              1000
    #每个进程处理的最大请求数(当达到设置的数量后该线程会被kil掉,0代表永生)
    MaxConnectionsPerChild  10000
</IfModule>
#worker
<IfModule mpm_worker_module>
    StartServers             8
#    MaxClients               4000
    MinSpareThreads          25
    MaxSpareThreads          75
    #每个进程有多少线程数
    ThreadsPerChild          25
    MaxRequestWorkers      400
    MaxConnectionsPerChild   10000
#</IfModule>



参考文献:
http://www.178linux.com/84075
http://www.linuxidc.com/Linux/2017-10/148076.htm
推荐文章:
CentOS上安装LAMP之Apache环境及安装过程报错解决方案(纯净系统环境)http://blog.csdn.net/zhangatle/article/details/77416996

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容