linux http服务源码编译安装详解
相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下。
什么是编译安装——编译:将源代码变为机器可执行的代码文件。安装:将可执行文件安装到操作系统里,才可以使用。
一、下载httpd最新版本的源码包
(1)如果电脑里有老版本的情况下,rpm -qi httpd 查看详细信息,里边有这个命令下载的官网,没有老版本就去官网查找。

(2)去官网下载最新版本(自己想要的版本)(一般在downloads下)

(3)rz上传到linux ,并解压包 tar -xf httpd-2.4.27.tar.bz2

二、查看INSTALL、README 这些帮助信息
进入cd httpd-2.4.27/
查询 cat INSTALL,里边有简单的安装过程,和一些例子

查询 cat README,(what is it ?)里边有一些Apache 的功能介绍
三、configure脚本(检测当前编译环境)
(1)./configure --help 查询这个脚本的用法,
--prefix=PREFIX 指定默认安装总目录, 默认为/usr/local/
--sysconfdir=/PATH 配置文件安装位置,默认就安装到指定安装总目录的下面

Optional Features: 需要什么功能
--disable-FEATURE 关闭某些功能
--enable-FEATURE 开启某些功能

(2)下面我们就来执行这个脚本,添加一些简单的设置
./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24 --enable-rewrite
① 首次安装,会提示出一些错误,因为有些包没有安装

② 我们只需按照提示的错误,把需要的都安装上去(直到没有提示错误)
先查询缺少的 yum search apr-devel(一般关于开发的都叫 devel)
再安装 yum -y install apr-devel

中间会提示一个,没有C编译工具,缺少gcc的错误,这时候,我们需要下一个包组Development Tools
yum -y groupinstall "Development Tools"
③ configure脚本完全执行成功(多了一个Makefile)没有Makefile ,不能下面make过程

四、make 和 make install 编译
make 编译后,多了很多.o .lo 文件 (二进制文件),在此之前的工作,任何用户都能做,并且都在httpd-2.4.27 这个目录下进行

make install 安装到指定位置,只有root 能做,
安装完毕

五、启动服务
(1)netstat -ntl 查看本地监听端口,有没有开启80端口
如果没有开启, service httpd start 开启80端口

(2)设置防火墙,因为防火墙组织了80端口
iptables -vL 查看防火墙策略,防火墙阻止,可以关闭防火墙
systemctl status firewalld.service 查看当前防火墙状态(只有centos 7 中有)
或 systemctl is-active firewalld.service 查看当前防火墙状态
systemctl stop firewalld.service 暂时关闭防火墙(下次开机会在开启)

systemctl is-enabled firewalld.service 查看开机时是否开启防火墙
systemctl disable firewalld.service 设置开机时不开启防火墙

如果是centos 6 以下的较低版本
service iptables stop 关闭防火墙
chkconfig httpd off 设置开机时不开启防火墙
(3)如果是安装新版本,需现将旧版本卸载 rpm -e httpd (rpm -qf `which httpd`查询当前版本)
(4)/app/apache24/bin/apachectl start 开启服务

就此服务开启成功!!!
/app/apache24/bin/apachectl stop 可以关闭服务
六、安装后的配置
(1)设置PATH export PATH=$PATH:/app/apache24/bin/
设置后,可以 apachectl start 开启服务
apachectl stop 关闭服务
(2)导入帮助手册man
vim /etc/man_db.conf
加入一行 MANDATORY_MANPATH /app/apache24/man

就可以man apachectl
到此就完成所有工作了!!!
希望对大家有帮助,有什么错误请告诉我~
linux http服务源码编译安装详解的更多相关文章
- apache源码编译安装详解
查看是否安装 rpm -qa httpd 如果已安装,则卸载:rpm -e 卸载 --nodeps 不考虑意外 下载 wget http://mirrors.sohu.c ...
- Linux环境PostgreSQL源码编译安装
Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...
- 在Linux下用源码编译安装apache2
Linux下安装一个软件,最好去看下它的官方guide,apache2.4的安装安装guide 0. installation guide http://httpd.apache.org/docs/2 ...
- linux下如何源码编译安装vim
1. 获取源码 git clone https://github.com/vim/vim.git ~/vim cd ~/vim 2. 配置 ./configure --prefix=/home/jel ...
- QGIS源码编译步骤详解——官方新方案
目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译 方案详细可见源码文件中INSTALL.md. 源码下载 QG ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
- Linux 从源码编译安装 OpenSSH
https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...
- Linux源码编译安装httpd
Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...
- Httpd服务进阶知识-LAMP源码编译安装
Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理 ...
随机推荐
- jq 下拉框获取选中自定义属性值
// 下拉框发送改变后 获取选择的信息 <div class="form-group"> <label class="col-sm-3 control- ...
- Session使用(14)
用session统计某个网页的访问人数(因为我还不会js,所以就做了个简易版本的) 1.创建Session监听器,每创建了一个Session对象就执行监听类中·的sessionCreated方法. p ...
- 自学Python第一天
大学毕业后在一家第三方小程序公司做客服,心有不甘,看着同学们有做安防售前的,有在政府.企业里面做网络工程师的.更有甚者天天搭建个云计算啥的都是家常便饭,再想想自己,堂堂网络工程专业,却做了客服,还是没 ...
- C++: cin
cin字符的时候, 会忽略掉'\n', ' '等空白符
- 【原创】岁月如歌 一款网易歌单生成pdf的软件
介绍 这是一款可以将网易云音乐的歌单中所有歌词输出为pdf的软件. 项目持续维护地址 http://brightguo.com/song-list-to-pdf/ 目前没有搜到相关网易歌单导出为pdf ...
- java 判断用户是PC端和还是APP端登陆
java 判断用户是PC端和还是APP端登陆 public void getRequestHeader(HttpServletRequest request){ // 从浏览器获取请求头信息 Stri ...
- 背水一战 Windows 10 (96) - 选取器: ContactPicker
[源码下载] 背水一战 Windows 10 (96) - 选取器: ContactPicker 作者:webabcd 介绍背水一战 Windows 10 之 选取器 ContactPicker(联系 ...
- 包建强的培训课程(1):Android App企业级开发
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Redis的使用及参考代码
Redis是一种完全开源免费,高性能的key-value数据库或数据结构服务器,因为value值可以是字符串,哈希(map),列表list,集合等. Jedis 是 Redis 官方首选的 Java ...
- 吴恩达机器学习笔记44-核函数(Kernels)
回顾我们之前讨论过可以使用高级数的多项式模型来解决无法用直线进行分隔的分类问题: 为了获得上图所示的判定边界,我们的模型可能是