/ 中存储网

Linux系统下安装Apache2和优化的方法

2013-09-22 14:26:01 来源:kejihao
在服务器linux下安装apache2,优化Apache配置详解(最好的APACHE配置教程)

一.下载地址:http://httpd.apache.org 下载相应版本的apache2安装文件

二.解压安装

tar -zvxf httpd-2.0.61.tar.gz

cd httpd-2.0.61

注意:

1.(一般不用)编译前先修改文件http-2.0.55/server/mpm/worker/worker.c

vi worker.c ----用vi编辑文件worker.c

/16 ----搜索数字"16",能找到下面2行

#define DEFAULT_SERVER_LIMIT 16 缺省进程数

#define DEFAULT_THREAD_LIMIT 64 缺省线程数

根据实际情况调整上面数字,进程数*线程数=客户端访问数.一般来说将16改为32就行了

2.(一般不用)修改src/include/httpd.h 增大最大线程数

#define HARD_SERVER_LIMIT 256

改成:#define HARD_SERVER_LIMIT 2560 保存退出编译apache

3.考虑要编译的mod包 --enable-module=so为和tomcat整合用; --with-mpm=worker是2.0 版中全新的支持多线程和多进程混合模型的MPM

考虑到以后要 rewite_url 来使 google 更加容易收录网站,特地添加了 mod_rewrite 。

同时为了限制流量,特别加了 mod_limitpcnn.c 补丁 , 所以多了一个 --enable-forward 选项。

./configure --prefix=/server/apache2 --enable-deflate --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-rewrite --enable-forward --enable-expires --enable-speling --enable-so --with-mpm=worker

make

make install

三.关闭和启动Apache2测试

进入到Apache2的安装目录启动Apache2测试看是否安装成功

cd /apache2/bin

./apachectl start 或者 ./httpd -k start

在浏览器的地址栏输入http://localhost 或者 http://IP地址 即可看到运行结果.表示安装和运行成功.

相关常用命令:

./apachectl stop

./httpd stop

./httpd start

./httpd graceful(不重启使conf参数生效)

四.配置目录(这一步可暂时跳过,之后再做) 修改conf/httpd.conf进行HTTP配置

假设你的WWW服务的文件目录在/server/www下,apache安装目录/server/apache2

则修改配置文件

# vi /server/apache2/conf/httpd.conf

将默认的文件路径

DocumentRoot "/server/apache2/htdocs"

改成你的服务目录

DocumentRoot "/server/www "

Directory "/server/www "

注:放一个自己的测试文件在此目录下,首页文件名是 index.html

然后重启服务:

# /server/apache2/bin/httpd -k restart

再刷新

http://localhost 或者 http://192.168.0.188

就应该看到的是你自己的首页.

五.配置系统,使用apache可以自启动关机自动关闭。总结网上的多种方法如下(可视情况选择其中一种):

方法一(我用的):

在/etc/init.d 添加一条关于apache的相关项,如下:

进到apache的安装目录

cd bin

cp apachectl /etc/rc.d/init.d/apache (注:后面的的"apache"名字可变,可以用service apache start stop 手工启动关闭)

vi /etc/rc.d/init.d/apache 在其中开始位置加入如下三行内容:

#!/bin/sh

# chkconfig: 2345 90 15

# description: Activates/Deactivates Apache Web Server

注:2345是要设为要启动的运行级别;90是起启优先级,太小有可能apache依赖的服务没有启动(好像也没有依赖什么其它的服务);15是杀死进程的优先级,就是谁优先挂掉的意思,呵呵

最后,运行chkconfig把Apache添加到系统的启动服务组里面(chkconfig --del apache表示删除)

chkconfig --add apache

chkconfig apache on

重启系统,就可以实现apache在Linux开机时启动了

方法二:

在/etc/init.d 添加一条关于apache的相关项,如下:

进到apache的安装目录

cd bin

cp apachectl /etc/rc.d/init.d/apache (注:后面的的"apache"名字可以变)

cd /etc/rc.d/rc3.d

ln -s /etc/rc.d/init.d/apache /etc/rc3.d/S80apache //建立软连接,快捷方式

ln -s /etc/rc.d/init.d/apache /etc/rc0.d/K80apache

注:/etc/rc3.d/S80apache 把文件S80apache放入目录/etc/rc3.d中

S 开始的意思就是start

K 停止

80 端口

这样,系统就可以实现apache在Linux开机时启动和关机时关闭了

方法三(少人用):

在向/etc/rc.d/rc.local写入 sh /server/apache2/bin/apachectl start

--------------------------------------------------------

.Apache性能优化

--------------------------------------------------------

.Apache性能优化.

在httpd.conf文件中改:

ServerLimit 50

ThreadLimit 200

StartServers 5

MaxClients 2500

MinSpareThreads 75

MaxSpareThreads 256

ThreadsPerChild 125

MaxRequestsPerChild 0

--------------------------------------------------------