apache的源码安装详细过程全纪录

最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下。

我们现在分以下步骤进行安装apache:

1、 安装编译环境

2、 卸载原有apache

3、 下载解压源码包

4、 安装apache

5、 测试apache

6、 查看apache安装生成的目录

7、 查看apache的配置文件

8、 apache加入系统服务

一、安装编译环境

在安装apache之前,我们需要安装编译apache时所需要的相关软件包,如下:

yum -y install gcc gcc++ zlib zlib-devel

二、卸载原有Apache

在源码安装apache之前,我们要先卸载系统中,已经通过rpm包安装的apache。如下:

rpm -qa |grep httpd

rpm -e --nodeps httpd-2.2.15-29.el6.centos.x86_64

rpm -e --nodeps httpd-tools-2.2.15-29.el6.centos.x86_64

三、下载解压源码包

下载apache的源码包,我们本次实验以apache的2.2.27版本为例。apache的源码包建议直接去apache官网下载,如下:

使用如下命令,下载apache源码包:

wget http://apache.fayea.com/httpd/httpd-2.2.27.tar.gz

解压下载的源码包,因为下载的是tar.gz的源码包,所以我们有两种解压方法。

方法一、利用gunzip进行解压,如下:

gunzip -c httpd-2.2.27.tar.gz>httpd-2.2.27.tar

-c参数可以不删除源文件

tar -xf httpd-2.2.27.tar

方法二、直接使用tar解压,如下:

tar -zxf httpd-2.2.27.tar.gz

或者tar -xf httpd-2.2.27.tar.gz

四、安装apache

安装apache,我们首先要编译,然后进行安装。

我们可以通过configure命令查看编译时的相关帮助,如下:

./configure --help

具体编译如下:

./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers --enable-expires --with-mpm=worker --enable-modules=most --enable-deflate

--prefix=/usr/local/apache2表示指定apache的安装路径,默认安装路径为/usr/local/apache2

--enable-rewrite提供URL规则的重写更嫩那个,即根据已知的URL地址,转换为其它想要的URL地址

--enable-so激活apache服务的DSO(Dynamic Shared Objects动态共享目标),即在以后可以以DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。

--enable-headers提供允许对HTTP请求头的控制。

--enable-expires激活荀彧通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css等内容,提供客户端浏览器缓存的设置。这个是apache调优的一个重要选项之一。

--with-mpm=worker选择apache mpm的模式为worker模式。为worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求。而系统 资源的开销小玉基于进程的MPM prefork。如果不指定此参数,默认的模式是prefork进程模式。这个是apache调优的一个重要选项之一。

--enable-deflate提供对内容的压缩传输编码支持,一般是html、js、css等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是apache调优的一个重要选项之一。

make

make install

安装完毕apache,查看安装后的目录,如下:

tree -L 1 /usr/local/apache2/

五、测试apache

将apache的启动脚本复制到/etc/rc.d/init.d这个目录下,如下:

cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

其实apache的启动是调用/usr/local/apache2/bin/httpd这个命令,查看该脚本的内容,如下:

cat /etc/init.d/httpd|grep -v ^#|grep -v ^$

启动apache,如下:

/etc/init.d/httpd start

netstat -lntp|grep 80

lsof -i :80

也可以使用/usr/local/apache2/bin/httpd进行启动。如下:

/usr/local/apache2/bin/httpd –k start

apache启动完毕后,我们来查看下,可以使用如下命令:

wget http://192.168.1.213

通过上图,我们可以很明显的看到apache已经正常启动。

六、查看apache安装生成的目录

apache正常启动后,我们来查看apache安装生成的目录。如下:

bin主要存放程序命令目录,。

conf主要存放apache配置文件。

htdocs主要存放站点目录。

logs主要存放默认日志文件。

modules主要存放apache的运行模块。例如php、memcache编译后的模块存放在这里。

七、查看apache的配置文件

apache的配置文件httpd.conf存放在conf 目录下,如下:

查看httpd.conf配置内容,如下:

egrep -v '^[ ]*#|^$' /usr/local/apache2/conf/httpd.conf | nl

ServerRoot "/usr/local/apache2"表示apache根目录,该目录应只有root用户具有访问,一般不需要修改。

Listen 80表示apache监听端口,默认为80。如果同时监控81端口,可以加一行:Listen 81。

AddType application/x-httpd-php .php LoadModule php5_module modules/libphp5.so用于apache与php进行集成时使用。

User daemon Group daemon表示apache运行时的用户及组,默认为daemon,建议修改,如apache。

DocumentRoot "/usr/local/apache2/htdocs"表示apache默认的web站点目录,路径结尾不要添加斜线。

ServerAdmin you@example.com表示系统管理员的邮箱,此项为非重要选项。当网站出现问题时,面面会显示此页面地址。

DirectoryIndex index.php index.html配置默认的apache首页。如果虚拟主机未配置,默认应用这里的配置。

ErrorLog "logs/error_log"错误日志路径。

LogLevel warn错误日志级别。

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"配置cgi别名。

八、apache加入系统服务

为了让apache开机启动,我们可以把apachectl启动脚本加入rc.local文件中,如下:

echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.local

cat /etc/rc.local

我们也可以通过把apache加入系统服务,来启动apache。把apache添加为系统服务有两种方法,第一种是通过chkconfig进行添加,第二种是直接添加系统的各个启动级别。

我们先来介绍第一种方法,修改启动httpd脚本加入如下两行命令,如下:

#chkconfig: 2345 70 60

#description: apache

说明:

chkconfig: 2345 70 60中的2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5是图形界面X。

70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。60是指系统关闭时,脚本的停止顺序号。

description: apache关于脚本的简短描述。

使用chkconfig进行添加,如下:

chkconfig --add httpd

chkconfig |grep httpd

chkconfig --add httpd命令的作用是把/etc/init.d/httpd加入到/etc/rc.d/rc0.d到/etc/rc.d/rc6.d目录下。如下:

find /etc -name *httpd

开启apache开机启动,使用如下命令:

chkconfig httpd on

chkconfig |grep httpd

经过以上操作apache就可以开机启动。

(0)

相关推荐

  • Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    首先需要安装下面几个安装包,可以在CD-ROM数据源里找到以下安装包yum安装 yum install perl* freetype libpng* libxm2 libxm2-devel curl curl-devel libjpeg* 手动下载安装 jpegsrc.v8c.tar libmcrypt-2.5.8.tar.gz 安装 jpegsrc # tar -xvzf jpegsrc.v8c.tar # cd jpeg-8c # ./configure --prefix=/usr/loca

  • CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤

    一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件. LAMP这个词的由来最早始于德国杂志"c't Magazine",Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字.这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件

  • CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    安装说明 安装环境:CentOS-6.3 安装方式:源码编译安装 软件:httpd-2.2.6.tar.gz | pcre-8.32.tar.gz | apr-1.4.6.tar.gz | apr-util-1.5.1.tar.gz 下载地址:http://mirror.bjtu.edu.cn/apache/httpd/ http://apr.apache.org/download.cgi http://jaist.dl.sourceforge.net/project/pcre/pcre 安装位

  • apache的源码安装详细过程全纪录

    最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以下步骤进行安装apache: 1. 安装编译环境 2. 卸载原有apache 3. 下载解压源码包 4. 安装apache 5. 测试apache 6. 查看apache安装生成的目录 7. 查看apache的配置文件 8. apache加入系统服务 一.安装编译环境 在安装apache之前,我们需要安装编译apache时所需要的相关软件包,如下

  • nGrinder性能工具源码安装部署过程

    nGrinderr(version: 3.4.1)是NAVER(韩国最大互联网公司NHN旗下搜索引擎网站)开源的性能测试工具,直接部署成web服务,支持多用户使用,可扩展性好,可自定义plugin. nGrinder 是一款在一系列机器上执行 Groovy 或 Jython 测试脚本的应用,内部引擎是基于 Grinder. nGrinder 使用 controller 和 agent 分别包装了 Grinder 的 console 和 agent ,而且扩展了多种功能使其能够支持并发测试. nG

  • CentOS6.9+Mysql5.7.18源码安装详细教程

    CentOS6.9+Mysql5.7.18源码安装,以下操作均在root用户下执行. 1.安装依赖工具 cmake make3.75+ gcc4.4.6+ Boost1.59.0 bison ncurses yum install -y cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel cd /opt wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_

  • Windows下Apache + PHP SESSION丢失的解决过程全纪录

    今天的工作是迁移一个PHP站点至新服务器. 创建一台Windows Server 2008虚拟机,并在其上停掉net stop http服务(避免争抢80端口),安装配置 Apache + PHP,迁移站点至新服务器,站点正常打开,Apache + PHP运行正常,连接MySql Server正常,一切都美好,本想着半小时完成的工作,紧接着噩梦开始了. 该站点使用单点登录,登录过程包含JavaScript异步操作,包含SOAP调用Web Service.登录却直接跳回了登录页面,没有任何错误提示

  • ubuntu 16.04安装的过程全纪录

    这篇文章记录我安装ubuntu的过程,由于安装过程中没有截图,所以本文的图片都来源网络. 1 制作 Ubuntu 16.04 LTS U 盘启动盘 (1) 到官网到下载 Ubuntu 16.04 LTS系统安装镜像 https://www.ubuntu.com/download/desktop (2) 使用 UltraISO 制作 U 盘启动盘.首先插入U盘,接着使用 UltraISO 打开 Ubuntu 16.04 LTS 的 ISO 镜像,然后依次点击 UltraISO 菜单栏的"启动&qu

  • 源码安装apache脚本部署过程详解

    目录 源码安装apache脚本部署 源码安装apache脚本部署 [root@localhost ~]# ls anaconda-ks.cfg httpd.tar.xz [root@localhost ~]# tar xf httpd.tar.xz 解压存放脚本的压缩包 [root@localhost ~]# ls anaconda-ks.cfg httpd httpd.tar.xz [root@localhost ~]# cd httpd/ [root@localhost httpd]# ls

  • CentOs7 64位 mysql 5.6.40源码安装过程

    1.首先安装依赖包,避免在安装过程中出现问题 [root@chufeng yusen]# yum -y install wget vim bash-completion [root@chufeng yusen]# yum -y install gcc gcc-c++ cmake ncurses-devel autoconf perl perl-devel 2.下载mysql-5.6.40.tar.gz MySQLxxx下载地址: https://dev.mysql.com/downloads/m

  • 国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解

    目录 获取源代码 准备工作(安装依赖) 生成Makefile 构建&&安装 添加环境变量 其他小问题 找不到libpython3.7m.so.1.0 升级pip上的小坑 影响pyinstaller打包后python程序移植性的因素 具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择. 获取源代码 Python官网处下载所需源码版本[https

  • mysql-5.5.28源码安装过程中错误总结

    介绍一下关于mysql-5.5.28源码安装过程中几大错误总结,希望此文章对各位同学有所帮助.系统centOS 6.3 mini (没有任何编译环境)预编译环境首先装了众所周知的 cmake(yum install cmake -y) 复制代码 代码如下: ../bootstrap Error when bootstrapping CMake: Cannot find appropriate C compiler on this system. Please specify one using

  • mysql5.6.8源码安装过程

    内核: [root@opop ~]# cat /etc/centos-release CentOS release 6.8 (Final) [root@opop ~]# uname -a Linux opop 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 开始安装: [root@opop ~]# for i in `rpm -qa | grep mysql`;do

随机推荐