烂泥:源码安装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就可以开机启动。
烂泥:源码安装apache的更多相关文章
- 源码安装apache
目标:源码安装apache 依赖包:apr.apr-util和pcre.其中pcre正则库要先安装,apr和apr-util(已解压)可以复制到apache下的资源库srclib下. 安装pcre: ...
- linux下源码安装apache服务
1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...
- Centos7源码安装Apache和PHP
源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel# ...
- centos7源码安装Apache及Tomcat
源码安装Apache (1) 一.通过 https://apr.apache.org/ 下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...
- Linux 源码安装apache 与常见错误解决
文档原位置 一.编译安装apache 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种,一种是通过源代码编译安装,一种是直接升 ...
- 源码安装Apache,报错:Cannot use an external APR with the bundled APR-util
一般在第一次源码安装是没有问题的,在版本变化情况下在次源码安装可能会遇到此问题: apache2.0.x与apache2.2.x在apr有很大区别,前者为依赖公用apr,后者依赖于自身的apr.一般前 ...
- 源码安装apache脚本
#!/bin/bash#By:zhaocheng#Date:2019-01-18 [ -d /media/cdrom ] || mkdir /media/cdrom[ -d /media/cdrom/ ...
- 源码安装Apache,报错:Cannot use an external APR with the bundled APR-util和httpd: Could not reliably determine the server's fully qualified domain name, using
一.解决APR和APR-util错误: 1.1.安装APR: [root@ganglia httpd-2.2.23]# cd srclib/apr [root@ganglia apr]# ./conf ...
- 源码安装apache及配置转发
一. 安装Apache a) 解压:tar -xvf httpd-*; b) ./configure --prefix=/usr/oracle/apache CC="gcc ...
随机推荐
- android 查找某个特定文件后缀名
private void queryFiles(){ String[] projection = new String[] { MediaStore.Files.FileColumns._ID, Me ...
- sql2000安装的一般问题
SQLServer2000 在一段时间不使用后突然间不能够运行了.只能打开企业管理器,对数据库进行操作.VS2005不能够连接,试了很多种方式,无结果.于是重新安装 sqlServer2000? 仿真 ...
- Java空白final
Java 1.1允许我们创建"空白final",它们属于一些特殊的字段.尽管被申明为final,但却未得到一个初始值. 无论在哪种情况下,空白final都必须在实际使用前得到正确的 ...
- spring 3.x变通实现@Conditional注解的功能
在某些情况下,我们要根据当前的系统配置决定是否初始化一个bean,也就是条件性加载,比如本地缓存或者分布式缓存,亦或是采用http实现或者socket实现.在spring 4.x中,可以使用新增的@C ...
- 使用Bower作为Web包管理器
Bower是一个简单易用的Web包管理器,通过它我们可以非常简便的安装各种Web框架和库,同时它也负责管理不同包之间的关系依赖. 安装Bower Bower需要 npm 和 Git 的支持,在安装Bo ...
- 手机网游开发指南 - 需要多NB的技术
Agent`K 似乎在三天打鱼N天晒网.只能呵呵了,懒散的家伙. 移动互联网越来越火,其中的网络游戏更是火,熊熊大火. 作为攻城师的你,作为小投资者的你,作为满脑子创意想要实现的你,肯定在四处打听:手 ...
- jQuery fullPage.js 全屏滚动
fullPage 是一款不依赖任何 js 库的全屏滚动组件,支持垂直/水平滚动.CSS3 旋转/缩放动画,支持 IE5.5+,支持移动设备. 在线实例 垂直滚动 水平滚动 CSS3 动画1 CSS3 ...
- 经典案例:那些让人赞不绝口的创新 HTML5 网站
在过去的10年里,网页设计师使用 Flash.JavaScript 或其他复杂的软件和技术来创建网站.但现在你可以前所未有的快速.轻松地设计或创造互动的.有趣好看的网站.如何创建?答案是 HTML5 ...
- PHP5 各版本维护时间
版本维护: 5.2:维护至:2011-01-06.支持:xp(2003)以上.最终版本:5.2.17. 5.3:维护至:2014-08-14.支持:xp(2003)以上.最终版本:5.3.29 5.4 ...
- Hybrid框架UI重构之路:一、师其长技以自强
这两年在支撑公司的Hybrid框架的运维发展,让人确认这种移动开发方式确实是一条不错的路.混合应用这种开发方式降低开发难度,极大的提高开发效率,最重要的一点效果可以接近原生应用.框架的本身是需要持续不 ...