设为首页 收藏本站
查看: 1259|回复: 0

[经验分享] apache2.2.31源码安装详细过程

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2015-10-21 13:09:42 | 显示全部楼层 |阅读模式
本文是把apache安装在虚拟机中的详细过程,有需要的朋友可以参考下;
首先我们大体先分个步骤:
  • 安装编译环境
  • 卸载原有apache
  • 下载源码包
  • 安装apache
  • 修改配置文件
  • 测试apache
  • 查看apache生成目录
  • 把apache加入系统服务以及开机自启动

一、安装编译环境
在安装apache之前,我们需要安装编译apache时所需要的相关软件包;

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

二、卸载原有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

三、下载解压源码包

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

     然后tar -zxvf httpd-2.2.31.tar.gz && cd httpd-2.2.31/

四、安装apache

     ./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,查看安装后的目录,如下
cd /usr/local/apache2 && ll

wKiom1YmAmyT3m1gAAFU2Jo4ecs800.jpg
五、修改配置文件
vim /usr/local/apache2/conf/httpd.conf
wKiom1YmBAHhoShoAAAnAa1tEXc515.jpg
把#号去掉就可以了。

六、测试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 ^$
wKiom1YmBRzTjcNCAAFuBIhW_5A102.jpg
  最下面那一部分。

  启动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 127.0.0.1
wKiom1YmBmeDC9yIAADy3dzLMt0724.jpg

  firefox 127.0.0.1

wKiom1YmBq6QfMLrAACOpembA-Q223.jpg

通过上图,我们可以看到apache安装成功了!

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

wKioL1YmCKuDcHYEAAFU2Jo4ecs246.jpg


bin主要存放程序命令目录,。
conf主要存放apache配置文件。
htdocs主要存放站点目录。
logs主要存放默认日志文件。
modules主要存放apache的运行模块。例如php、memcache编译后的模块存放在这里。

八、查看apache的配置文件

查看httpd.conf配置内容,如下:
egrep -v '^[ ]*#|^$' /usr/local/apache2/conf/httpd.conf | nl wKiom1YmCdfR6lbqAAG8Uz0EO5k123.jpg wKioL1YmCjajrLjMAAHyONBxRJI107.jpg wKiom1YmCkjywSvhAAFodW1M0VQ375.jpg
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

我们也可以通过把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
开启apache开机启动,使用如下命令:
chkconfig httpd on
chkconfig |grep httpd
经过以上操作apache就可以开机启动。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-129233-1-1.html 上篇帖子: 基于Apache搭建日志分析系统——AWstats日志分析软件 下篇帖子: Apache、Web软件、Apache安装、常用配置项、区域配置、日志分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表