一.下载地址: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
--------------------------------------------------------