(1)Apache编译安装
# cd /usr/local/src ## 进入目录
# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.29.tar.bz2 ## 下载源码包
# tar jxvf httpd-2.2.29.tar.bz2 ## 解压
# cd httpd-2.2.29 ## 进入源码包目录
# ./configure \
--prefix=/usr/local/apache2 \ ## 指定安装目录
--with-included-apr \ ## 支持httpd能跨平台运作
--enable-so \
--enable-deflate=shared \ ## 以动态共享的模式去安装
--enable-expires=shared \ ## 同上
--enable-rewrite=shared \ ## 同上
--with-pcre ## 与正则相关的库
# echo $?
# make
# echo $?
# make install
# echo $?
# /usr/local/apache2/bin/apachectl start ## 启动Apache
# ps aux |grep httpd ## 查看系统进程是否启动
# netstat -lnp ## 查看监听端口
★Apache常用选项
# /usr/local/apache2/bin/apachectl -选项
1)-M ## 作用:查看动态模块;把模块列出来,包含static(静态)模块和shared(动态加载)模块; ls /usr/local/apache2/modules/ |目录|内的“绿色”名字文件为动态共享加载模,是单独的文件,用的时候直接去加载。 ls /usr/local/apache2/bin/httpd 这个|文件|是把所有静态模块编译进httpd文件中去,只要启动服务,就会自动把静态模块全部加载。
2)-l ## 作用:查看静态模块(static)
3)-t ## 作用:检查“配置文件”有没有语法错误
##“配置文件”的路径 /usr/local/apache2/conf/httpd.conf
4)restart ## 重启
5)graceful ## 重加载(进程还在)
6)stop/start ## 关闭/开启
(2)Apache的mpm工作模式
# /usr/local/apache2/bin/apachectl -l ## 查看apache在什么模式下运行
## 注:apache的运行模式有3种”prefork“、”worker“、”event“
## prefork 是子进程,以进程的形式,每个子进程都有单独的内存,若其中一个进程发生故障,
## 不会影响其他进程,但是在高并发情况下(访问量特别大),占用内存很大。
## worker 既有主进程,也有子进程,每个子进程下面还有线程
## 区别:线程是子进程下派生出来的更小的单位的方式
## 缺点:在线程下,进程内存会共享给所有线程使用,若进程下某个线程出错,则这个进程下的所有线程都会受牵连。
## 优点:进程和线程可以共享一段内存,在高并发情况下,worker很占优势,因为只占用很少的内存。
## event 是worker的升级版,比worker好一点,也是线程的形式,
## 在性能方面保持长连接的时候,event模式比worker更好一些。
## 总结:在编译apache的时候,如果想用worker可以指定一下,如下
## 在编译的时候加入“--with-mpm=worker”这段
## 如果不加这段,2.2版本默认是prefork;2.4版本默认是event。
原文地址:http://286577399.blog.51cto.com/10467610/1672438