安装apache

apache官网下载地址: http://www.apache.org/dyn/closer.cgi


(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 \
--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。


你可能感兴趣的:(local,动态,shared)