码迷,mamicode.com
首页 > Web开发 > 详细

Linux下Apache源码安装经验

时间:2015-08-06 12:58:56      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

1、 从Apache官网下载自己所需要的版本。(这里以2.4版本为例)http://httpd.apache.org/download.cgi#apache24

(参考网址http://www.jb51.net/article/59474.htm 和 http://blog.csdn.net/yiluoak_47/article/details/22067185

)

2、 把下载的源码包拷贝(用的WinSCP软件拷贝文件)到Liunx服务器上,进入到这个目录,然后解压 tar –zxvf httpd-2.4.12.tar.gz  进入解压目录 cd httpd-2.4.12.tar.gz

3、 如果linux中含有apr  apr-util需要先卸载  rpm –qa|grep apr  查找rpm文件 然后强制卸载  rpm –r –nodeps rpm文件名

4、 去http://apr.apache.org/download.cgi下载自己需要的apr 和apr-util文件

5、 解压这两个文件,需要先装apr 建议安装目录都为同一个目录)必须要确定linux安装了gcc

./configure --prefix=/usr/local/apr/

make

make install

(必须要记住安装目录,等会apache安装的时候需要这三个目录

6、 再安装 apr-util文件

./configure --prefix=/usr/local/apr/   --with-apr=/usr/local/apr/

make

make install

 

7、 再下载PCRE  http://jaist.dl.sourceforge.net/project/pcre/pcre/找适合自己的版本,一般都是最新版(如果提示缺少c++,则yum install -y gcc gcc-c++命令安装c++

./configure --prefix=安装目录

make

make install

8、 开始安装apache 这个命令不要复制,会出错。自己敲)

./configure --prefix=/usr/local/apache24/  --with-apr=/usr/local/apr/  --with-apr-util=/usr/local/apr-util/  --with-pcre= /usr/local/pcre/  --enable-rewrite --enable-so --enable-headers --enable-expires --with-mpm=worker --enable-modules=most --enable-deflate

make

make install

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

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

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

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

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

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

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

 

9、 1)进入apache的安装目录:(视个人安装情况而不同)

 /usr/local/apache24/conf

2)编辑httpd.conf文件,搜索"#ServerName"

#ServerName www.example.com:80 修改为以下
ServerName localhost:80
3)再重新启动apache 即可。
[root@server ~]# /usr/local/apache24/bin/apachectl  restart

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

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

ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd

 

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

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

 

启动apache,如下:

service httpd start

 

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

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

 

 

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

conf主要存放apache配置文件。

htdocs主要存放站点目录。

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

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

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

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

10、 apache加入系统服务

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

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

cat /etc/rc.local

 

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

 

如果遇到服务httpd不支持chkconfig (service httpd does not support chkconfig)

运行chkconfig --list,发现没有linux服务列表中httpd,通过chkconfig --add httpd来添加,但是提示:httpd服务不支持 chkconfig。需要编辑/etc/rc.d/init.d/httpd,添加以下注释信息:
# chkconfig: 2345 70 60
# description: Apache httpd

说明:

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

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

 

使用chkconfig进行添加,如下:

chkconfig --add httpd

 

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

 

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

chkconfig httpd on

Linux下Apache源码安装经验

标签:

原文地址:http://www.cnblogs.com/mengzzj/p/4707407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!