Linux下通过apxs命令给Apache添加模块
下面是在Linux下使用apxs工具给apache添加模块
添加的模块:
LoadModule proxy_module libexec/mod_proxy.so
LoadModule rewrite_module libexec/mod_rewrite.so
LoadModule headers_module libexec/mod_headers.so
添加方法:
1. 进入apache 源文件modules目录
cd apache/src/modules/
2. 安装 proxy_module
> cd proxy
> /user/local/apache/bin/apxs -i -a -c *.c
3. 安装 rewrite_module
> cd standard
> /user/local/apache/bin/apxs -i -a -c mod_rewrite.c
4. 安装 headers_module
> cd standard
> /user/local/apache/bin/apxs -i -a -c mod_headers.c
但是,用这种方法添加的proxy不可用,提示错误:
/apache/httpd/bin/apachectl configtest
httpd: Syntax error on line 58 of /apache/httpd-2.2.3/conf/httpd.conf: Cannot load /apache/httpd-2.2.3/modules/mod_proxy.so into server: /apache/httpd-2.2.3/modules/mod_proxy.so: undefined symbol: proxy_lb_workers
所以,应该这样:
在Linux系统下,需要给已经运行的Apache增加mod_proxy模块,编译的时候应该这样:
apxs -c -i mod_proxy.c proxy_util.c
否则你可能会收到这样的错误信息
[root@server1 proxy]# /apache/httpd/bin/apachectl configtest
httpd: Syntax error on line 58 of /apache/httpd-2.2.3/conf/httpd.conf: Cannot load /apache/httpd-2.2.3/modules/mod_proxy.so into server: /apache/httpd-2.2.3/modules/mod_proxy.so: undefined symbol: proxy_lb_workers
加载后重新启动Apache
[root@server1 proxy]# /apache/httpd/bin/apachectl start
这样我可就可以重用重写和代理功能了。