`
ygxu
  • 浏览: 78798 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux下apache的功能扩展

阅读更多
是一个模块化(或说积木式)的程序,管理员可以选择一些模块来增加服务器的某些功能。这些模块,可以在创建服务器程序时静态地编译到httpd服务器的二进制代码中,也可以编译成一些独立于服务器程序的Dynamic Shared Objects (DSOs)文件。DSO 文件可以在编译服务器程序时创建,也可以在以后利用Apache扩展工具apxs来单独创建。
  这篇文档,将描述如何使用DSO 模块,以及其背后的原理。
实现
  Apache HTTPD对DSO 的支持,即对单个模块的动态加载,是基于一个叫
mod_so
的模块来实现的,此时mod_so必须被静态地编译到HTTP服务器内核中。这是除了core以外唯一不能以dso方式编译的模块。实际操作时,其它的Apache模块可以在编译服务器程序时通过单独指定来将其编译为DSO文件,正如
安装文档
中讲述的,此时configure的设置参数应为--enable-xxxx=shared(xxxx为模块的名字,如rewrite等)。 当一个模块被编译为一个名为mod_foo.so的DSO文件后,就可以在httpd.conf文件中用mod_so的
LoadModule
命令,告诉服务器在启动或重新启动时将此模块加载。
  为了简化创建Apache模块(尤其是第三方模块)的DSO文件的过程,apache提供了一个新工具名叫apxs(APache eXtenSion)。它可以脱离apache的源码将模块编译成DSO文件。它的实现思路非常简单: 在安装Apache时,configure脚本的 make install 过程会安装Apache的C头文件,并在apxs程序(apxs是一个perl脚本)中对依赖于具体平台的编译器和连接器设置一些标志(Flag),以供创建DSO文件。通过这种方式,用户就可以利用apxs在没有Apache源码树且无需针对当前平台的编译器和连接器进行配置(以生成DSO格式目标文件)的情况下编译Apache模块了。
使用概要说明
  • 创建和安装一个 Apache发布的(distributed) 模块,比方说将mod_foo.c编译成mod_foo.so:
  • $ ./configure --prefix=/path/to/install --enable-foo=shared
    $ make install

  • 创建和安装一个第三方的Apache模块,比方说将mod_foo.c编译成mod_foo.so:
  • $ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
    $ make install

  • 为以后安装(非HTTPD编译时安装)模块配置Apache:
  • $ ./configure --enable-so
    $ make install
    (要编译全部Aapache模块,用./configure --enable-mods-shared=all --with-egd --with-devrandom --enable-so,但对experimental一类的模块,需要特别指定,如./configure --enable-mods-shared=all --with-egd --with-devrandom --enable-so --enable-cache=shared --enable-disk_cache=shared --enable-mem_cache=shared --enable-proxy=shared --enable-proxy_connect=shared --enable-proxy_ftp=shared --enable-proxy_http=shared --enable-file_cache=shared --enable-charset_lite=shared --enable-case_filter=shared --enable-case_filter_in=shared --enable-ssl=shared 。具体有哪些模块可以编译而没有打开编译开关,可在前面的那个configure运行的最后看看哪一个是no.)

  • 利用apxs在没有Apache源码树的情况下,创建和安装第三方的Apache模块:
  • $ cd /path/to/3rdparty
    $ apxs -c mod_foo.c
    $ apxs -i -a -n foo mod_foo.la
    分享到:
    评论

    相关推荐

      Linux系统Apache服务的信息查看模块介绍

      使用mod_status,你可以知道谁在你的服务器上看些什么东西,以及有多少人连在Web服务器上。还有其他可能你的客户不关心的信息,但是对于你,一个站点管理员来说,却是十分有用的信息。mod_info和mod_status这两个...

      Linux_Apache+Tomcat+jk

      讲述了怎样在liunx系统下配置tomcat集群,apache负载均衡,session黏贴,关于缓存,压缩可以在此基础上扩展

      Apache HTTP Server for Linux V2.1.9 Beta

      Linux + Apache是目前免费服务器中的最佳拍挡。Apache快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,...

      Apache JMeter (apache-jmeter-5.4.3.zip)

      Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息...

      Apache Web Server for Linux V2.0.35

      Linux + Apache是目前免费服务器中的最佳拍挡。Apache快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,...

      Linux下apache如何限制并发连接和下载速度

      在Linux下限值Apache的并发连接数和下载速度需要用到一款Apache的扩展模块mod_limitipconn,下面我们就来讨论mod_limitipconn的安装使用方法

      Linux Apache服务器系统的设置与优化

      Apache服务器的设置文件位于/usr/local/apache/conf/目录下, 传统上使用三个配置文件httpd....本文基于redhat 7.2 下的httpd.conf为例,解释Apache服务器的各个设置选项,当然,其配置方法可扩展到几乎所有unix系统。

      PHP.rar_apache_apache php_extension_php 扩展

      php扩展编程,写给初学者,开发环境是linux+PHP+ apache

      Apache HTTP Server for Linux V2.0.49

      Linux + Apache是目前免费服务器中的最佳拍挡。Apache快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,...

      Linux服务器安装PHP MongoDB扩展的方法

      Linux环境:CentOS 6.5 Apache版本:2.4 PHP版本:5.4.3 MongoDB版本:2.6.5 一、下载Mongo-php扩展安装包 可以从Github上面下载,地址是https://github.com/mongodb/mongo-php-driver-legacy 下载好的文件放到随意...

      apache 2.2.17 fro Linux

      Apache HTTP Server最流行的HTTP...快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。

      Apache v2.0.55 for Linux 源码

      最流行的HTTP服务器软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。

      Apache V2.0.16 Beta

      Linux+Apache是目前免费服务器中的最佳拍挡。Apache快速、可靠、可通过简单的 API 扩展,Perl/Python 解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的 Web 服务器,...

      apache-tomcat-8.0.47-linux-x64

      Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,servlet)。

      linux Apache CGI 安装配置

      Apache 中的提交了一种利用扩展应用程序执行动态网页的机制. 称为Common Gateway Interface (通用网关接口)简称CGI.

      linux下安装php扩展memcache的方法

      LAMP环境搭建完毕:php版本5.6.8、apache版本2.4.12  1、在安装memcached之前需要安装libevent支持: # wget http://syslab.comsenz.com/downloads/linux/libevent-1.4.12-stable.tar.gz # tar zxvf libevent-...

      Apache for Linux,php网站必备

      Apache是一款HTTP服务器软件,特点是快速、可靠、可以通过API扩展(简单的),它其中的Perl/Python解释器是完全免费的且可以被编译到服务器中去,是一款开源的软件,可以承载很大的流量访问,可以承载一天百万人次的...

      Apache JMeter 源码(apache-jmeter-5.4.3_src.zip)

      Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息...

      Apache HTTP Server for Linux/Unix 2.4.3.zip

      Apache是最流行的HTTP服务器软件之一,快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放,如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳...

      linux tomcat7安装包

      linux系统tomcat7安装包,用于在linux系统上使用tomcat的web容器。...实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

    Global site tag (gtag.js) - Google Analytics