httpd服务

编译参数

 1 # so模块用来提供DSO支持的apache核心模块
 2 # 如果编译中包含任何DSO模块,则mod_so会被自动包含进核心。
 3 # 如果希望核心能够装载DSO,但不实际编译任何DSO模块,则需明确指定"--enable-so=static"
 4  
 5 ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most --enable-rewrite --enable-forward  # 实例编译
 6  
 7 --with-mpm=worker # 已worker方式运行
 8 --with-apxs=/usr/local/apache/bin/apxs  # 制作apache的动态模块DSO rpm包 httpd-devel  #编译模块 apxs -i -a -c mod_foo.c
 9 --enable-so # 让Apache可以支持DSO模式
10 --enable-mods-shared=most # 告诉编译器将所有标准模块都动态编译为DSO模块
11 --enable-rewrite # 支持地址重写功能
12 --enable-module=most # 用most可以将一些不常用的,不在缺省常用模块中的模块编译进来
13 --enable-mods-shared=all # 意思是动态加载所有模块,如果去掉-shared话,是静态加载所有模块
14 --enable-expires # 可以添加文件过期的限制,有效减轻服务器压力,缓存在用户端,有效期内不会再次访问服务器,除非按f5刷新,但也导致文件更新不及时
15 --enable-deflate # 压缩功能,网页可以达到40%的压缩,节省带宽成本,但会对cpu压力有一点提高
16 --enable-headers # 文件头信息改写,压缩功能需要
17 --disable-MODULE  # 禁用MODULE模块(仅用于基本模块)
18 --enable-MODULE=shared  # 将MODULE编译为DSO(可用于所有模块) 
19 --enable-mods-shared=MODULE-LIST   # 将MODULE-LIST中的所有模块都编译成DSO(可用于所有模块) 
20 --enable-modules=MODULE-LIST   # 将MODULE-LIST静态连接进核心(可用于所有模块)
21  
22 # 上述 MODULE-LIST 可以是:
23 1、用引号界定并且用空格分隔的模块名列表  --enable-mods-shared='headers rewrite dav'
24 2"most"(大多数模块)  --enable-mods-shared=most 
25 3"all"(所有模块)

 

转发

 1 #针对非80端口的请求处理
 2 RewriteCond %{SERVER_PORT} !^80$
 3 RewriteRule ^/(.*)         http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
 4  
 5 RewriteCond %{HTTP_HOST} ^ss.aa.com [NC]
 6 RewriteRule  ^(.*)  http://www.aa.com/so/$1/0/p0?  [L,R=301]
 7 #RewriteRule 只对?前处理,所以会把?后的都保留下来
 8 #在转发后地址后加?即可取消RewriteRule保留的字符
 9 #R的含义是redirect,即重定向,该请求不会再被apache交给后端处理,而是直接返回给浏览器进行重定向跳转。301是返回的http状态码,具体可以参考http rfc文档,跳转都是3XX。
10 #L是last,即最后一个rewrite规则,如果请求被此规则命中,将不会继续再向下匹配其他规则。

 

posted @ 2019-09-17 11:07  凌空a  阅读(168)  评论(0编辑  收藏  举报