在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行.

   在Linux下分rpm安装、源码编译安装,这里主要介绍源码编译安装httpd服务,并在浏览器上访问成功:




下面让我们来一起安装吧:

1.yum配置及开发工具的安装:

 1).配置好yum源:

基于源码编译安装htppd配置解析_第1张图片

2).列出所有可用yum repo.

基于源码编译安装htppd配置解析_第2张图片

3)安装常用开发工具以免在安装httpd时候报错: "Desktop Platform Development"、"Development tools"、"Server Platform Development".

wKioL1NMF_yBgX29AAFxpQBcz8Q435.jpg


2.我们来看下系统上有没有自安装的httpd,如有将其卸载:
1).查看:
rpm -q httpd

基于源码编译安装htppd配置解析_第3张图片

2).准备好软件包,安装:http-2.2.25.tar.bz2.并查看帮助信息.

wKioL1NMF_3RHKB0AAF9XA_eZqQ798.jpg

3).开始执行configure脚本:(注意在编译时候注意是否有报错信息.)

wKiom1NMGCbht8aoAAFc7krHahc901.jpg

4).在执行完./configure脚本后,通常会遇到以下几种情况(如果是安装完开发工具后就不会出现这种问题了哦):

 I. 报错信息关键字:PCRE库

基于源码编译安装htppd配置解析_第4张图片

II. 报错信息关键字:openssl

wKioL1NMF_7jpUpMAAHjuXbSJdQ982.jpg

5).开始编译、安装:

wKiom1NMGCfDTgwXAADCrqcyv80308.jpg


6).如果有系统自带的httpd在运行,并将其杀死之:

wKioL1NMF_-SLWvOAABNz65Qudc826.jpg

7).启动方式(路径方式执行也可以):

wKiom1NMGCih0O7PAACdnPeRxPc460.jpg

8).把Apache的二进制程序放到系统的PATH变量中,不用输入路径,方便程序执行:

wKioL1NMF__hYfXAAAEMimrbwp4813.jpg

9).执行:echo $PATH 看看出现这程序的路径了没有.

wKiom1NMGCmS0RePAAEaHx3LMTA752.jpg

10).查看端口80是否被占用,执行命令:netstat -tnl

基于源码编译安装htppd配置解析_第5张图片

11).执行启动httpd:

wKiom1NMGCnR_Jr8AABF4m5rrEA432.jpg

12).再次查看,执行命令:netstat -tnl

基于源码编译安装htppd配置解析_第6张图片

13).最后打开浏览器在地址栏内输入:http://172.16.251.96
wKiom1NMGCnBtElSAABFn5RCcuI422.jpg

14).看下安装路径:

wKioL1NMGAGjuVd-AAE4avSe-Rg606.jpg

15).头文件输出给系统:

基于源码编译安装htppd配置解析_第7张图片


16).库文件输出 lib:

   我们的系统也不会在/usr/local/apache/lib下找库文件的,应该在/etc/ld.so.conf.d/创建个httpd.conf文件,并将路径写在httpd.conf文件上;系统开机时会将所有库文件缓存到/etc/ld.so.cache目录下的,因此,新添加的库文件系统默认是找不到的,要么从新启动系统,要么我们让系统重新生成库文件路径缓存:

I.系统开机时会将所有库文件缓存到/etc/ld.so.cache目录下的:

wKioL1NMGAGTSiIAAAGPMKRZ4yc605.jpg

II.写入/etc/ld.so.conf.d/httpd.conf库文件之前:

基于源码编译安装htppd配置解析_第8张图片

III.编辑库文件/etc/ld.so.conf.d/httpd.conf,将路径写入文件中:

wKioL1NMGAKDtVn1AACRN0ci_Zk434.jpg

IV.写入/etc/ld.so.conf.d/httpd.conf库文件之后:

基于源码编译安装htppd配置解析_第9张图片

17).导出man文件:

基于源码编译安装htppd配置解析_第10张图片





Welcome to the xiaomazi 51CTO blog!!!