Apache apxs添加proxy模块

apxs

apxs是一个为ApacheHTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。

因此,要使用这个扩展机制,你的平台必须支持DSO特性,而且Apachehttpd必须内建了mod_so模块。前提是你支持动态模块加载DSO,即编译时有--enable-so选项,可通过如下命令查看当前是否含有mod_so.c模块

  
  
  
  
  1. # /usr/local/apache2/bin/httpd -l  
  2.  
  3. Compiled in modules:  
  4.  
  5.   core.c  
  6.  
  7.   prefork.c  
  8.  
  9.   http_core.c  
  10.  
  11.   mod_so.c 

如果编译的时候没有添加proxy模块,则可以使用apxs命令去重新添加

需要的模块mod_proxy, mod_proxy_http, mod_proxy_balancer(Apache负载均衡模块)

先进入apache的源码目录,源码目录中有个modules的目录,这个目录里存放了apache模块的代码,关于proxy的源码在modules/proxy

  
  
  
  
  1. # cd /usr/local/src/httpd-2.2.22/modules/proxy  
  2.  
  3. # /usr/local/apache2/bin/apxs -i -c -a mod_proxy.c proxy_util.c  
  4.  
  5. … …  
  6.  
  7. ----------------------------------------------------------------------  
  8.  
  9. Libraries have been installedin:  
  10.  
  11.    /usr/local/apache2/modules  
  12.  
  13. … …  
  14.  
  15. ----------------------------------------------------------------------  
  16.  
  17. chmod 755/usr/local/apache2/modules/mod_proxy.so  
  18.  
  19. [activating module `proxy' in/usr/local/apache2/conf/httpd.conf]  
  20.  
  21. # /usr/local/apache2/bin/apxs -i -c -a mod_proxy_http.c  
  22.  
  23. Libraries have been installedin:  
  24.  
  25.  /usr/local/apache2/modules  
  26. chmod 755/usr/local/apache2/modules/mod_proxy_http.so  
  27.  
  28. [activating module `proxy_http'in /usr/local/apache2/conf/httpd.conf]  
  29. # /usr/local/apache2/bin/apxs -i -c -a mod_proxy_balancer.c  
  30. Libraries have been installedin:  
  31. /usr/local/apache2/modules  
  32. chmod 755/usr/local/apache2/modules/mod_proxy_balancer.so  
  33. [activating module`proxy_balancer' in /usr/local/apache2/conf/httpd.conf] 

-cia选项表示编译(compile)、安装(install)以及启动(active--> a选项会自动添加如下模块在配置文件httpd.conf

LoadModuleproxy_module modules/mod_proxy.so

LoadModuleproxy_http_module modules/mod_proxy_http.so

LoadModuleproxy_balancer_module modules/mod_proxy_balancer.so

安装表示将.so文件放至Apache可以找到的位置,而启用则表示将模块加入httpd.conf文件


 

你可能感兴趣的:(apache,linux,nginx)