向apache添加模块

1、为什么要用apxs

我们在装apache的时候,有的模块我们并不需要,所以就没有装,但是将来的某个时候我们又需要这个模块了,怎么办呢,我们需要把apache重新编译一下吗?如果你要这样做也可以,不过有一个更好的办法来解决这个问题。用apxs来添加你所需要的模块,这个根php自带的phpize很像。

要使用apxs,你的平台必须支持DSO特性, 而且Apache的httpd必须内建了mod_so模块。查看一下

httpd-l | grep mod_so

如果没有东西,说明没有装,如果显示有东西呢,说明装了。

httpd-M 可以查看已经加载的模块

语法:

[[email protected]]# apxs

apxs -g [ -S name=value ] -n modname

apxs -q [ -S name=value ] query ...

apxs -c [ -S name=value ] [ -o dsofile ] [-I incdir ] [ -D name=value ] [ -L libdir ] [ -l libname ] [ -Wc,compiler-flags] [ -Wl,linker-flags ] files ...

apxs -i [ -S name=value ] [ -n modname ] [-a ] [ -A ] dso-file ...

apxs -e [ -S name=value ] [ -n modname ] [-a ] [ -A ] dso-file ...

部分参数说明:

  • -n modname

它明确设置了-i(install)和-g (template generation)选项的模块名称。 对-g选项,它是必须的; 对-i选项,apxs工具会按文件名判断至少是推测出这个模块名称。

  • -q

查询某种apxs设置的信息。 query参数可以是下列一个或多个字串:CC, CFLAGS, CFLAGS_SHLIB, INCLUDEDIR, LD_SHLIB, LDFLAGS_SHLIB,LIBEXECDIR, LIBS_SHLIB, SBINDIR, SYSCONFDIR, TARGET.这个参数用于手动查询某些设置。比如,要手动处理Apache的C头文件,可以在Makefile中使用

  • -g

此选项生成一个名为name的子目录(见选项-n)和其中的两个文件:一个是名为mod_name.c的样板模块源程序,可以用作建立你自己的模块的模板,或是学习使用apxs机制的良好开端;另一个则是对应的Makefile,用于编译和安装此模块。

  • -c

此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后,连接这些目标代码和files中其余的目标代码文件(.o and .a),以生成动态共享对象dsofile。如果没有指定-o选项,则此输出文件名由files中的第一个文件名推测得到,所以,缺省时,它一般会是mod_name.so

  • -i

此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。

  • -a

此选项自动在httpd.conf文件中增加一个LoadModule行,以激活此模块,或者,如果此行已经存在,则启用之。

  • -A

与-a选项类似,但是它增加的LoadModule指令由一个井号前缀(#),即,此模块已经准备就绪,但尚处于禁用状态。

  • -e

此选项表示需要执行编辑操作,它可以与-a和-A选项配合使用,与-i操作类似,修改Apache的httpd.conf配置文件,但是并不安装此模块。

2、添加apache模块

进入apache安装文件的解压目录

cd apache的目录/modules/proxy

[[email protected]]# /usr/local/apache2/bin/apxs -c-i mod_proxy_balancer.c

出现下面内容说明装好了。

同时modules目录下也应该有刚才添加的.so文件了

再检查httpd.conf文件中是否有对应的,没有的话就手动添加或去掉原有注释

LoadModule proxy_balancer_modulemodules/mod_proxy_balancer.so

时间: 2024-10-29 19:05:46

向apache添加模块的相关文章

apache添加模块时报错:module status_module is built-in and can't be loaded

在使用cacti监控linux主机上的apache时,apache需要加载 mod_status.so 模块. 编辑httpd.conf,手动添加下行: LoadModule status_module modules/mod_status.so 在重启apache时报错如下: httpd: Syntax error on line 58 of /etc/httpd/httpd.conf: module status_module is built-in and can't be loaded

(Class 'ZipArchive' not found )linux apache 添加 zip模块

网站迁移到linux平台后 phpexcel 导出的时候提示错误 Class 'ZipArchive' not found 原因:是因为php没有安装zip模块 解决办法:安装zip模块 解决过程: 获取到zip包 wget http://pecl.php.net/get/zip 解压zip包并进入 tar -zxvf zip cd zip-1.x.x 这是一个条命令如果提示没有的话可以通过 yum install php-devel方式安装,然后执行phpize. phpize 此时需要获取到

10个强大的Apache开源模块

Apache是一款非常高效地WEB服务器,目前仍居全球最受欢迎的WEB服务器软件之首.Apache其功能强大之处在于我们可以为它开发许多模块,并作一些相应的配置,从而让我们的Apache服务器有更加个性化的功能. 1.单点登录模块 LemonLDAP LemonLdap可以很棒地实现Apache的SSO功能,并且可以处理超过 20 万的用户请求.LemonLdap支持Java, PHP, .Net, Perl, Ruby, Python等Web开发技术,也就是说,只要你将WEB应用部署到Apac

LAMP架构之构建php为apache的模块(CentOS 7)

LAMP架构是一个提供web服务的整体架构,它的组件分别是Linux.Apache.Mysql(Mariadb).PHP.本文介绍如何快速构建一个LAMP架构,并将PHP编译为apache的模块.之后并使用xcache加速引擎来加速php页面的处理速度. 一.配置前准备 两台CentOS 7主机.主机A地址为172.16.25.71,主机B为172.16.25.72 在两台主机配置好yum源. 下载两个web架构包phpMyAdmin-4.4.14.1-all-languages.zip和wor

linux apache 打模块示例

主要是为了以后能举一反三 Apache配置方案 首先,安装apache的一个第三方模块“mod_rpaf”, 官方网站: http://stderr.net/apache/rpaf/ wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz tar zxvf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 /alidata/server/httpd/bin/apxs -i -c -n mod_r

apache 添加 ssl_module

下载httpd2.2.6,以前用http2.2.4会出问题(出现个什么lib的错误) ./configure --prefix=/usr/local/apache --enable-ssl --enable-cgi --enable-mods-shared=all --with-mysql=/usr/local/mysql5022/ --with-ssl=/usr/local/openssl/ --enable-track-vars --enable-rewrite 如果安装过apache可以添

Nginx为已安装nginx动态添加模块

本篇文章主要介绍了Nginx之为已安装nginx动态添加模块的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧这里以安装第三方ngx_http_google_filter_module模块为例 nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 下载第三方扩展模块ngx_http_google_filter_module cd /data/software/ # git clone https://github.com/cuber

centos 7下nginx搭建流媒体服务器【动态添加模块】

1.安装nginx依赖包 yum install gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel yamdi 2.下载解压nginx_mod_h264_streaming,让nginx支持flv,mp4流播放 wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz 解压后需要修改src目录下的ngx_http_streaming_modul

Google发布Apache加速模块

作为互联网伟人,Google一直致力于为页面拜访加速.此前,不只推出了Page Speed东西对网站的各方面提出建议,还设计了一个新的协议SPDY对HTTP作出改善.今日,Google又发布了一个Apache模块,名为mod_pagespeed,依据一些最好实习,对Web性能多个方面包含缓存.客户端与服务器之间的往复.载荷巨细等进行了优化,能够将页面加载时刻缩短50%. Google的文章中还说到,该模块是Google与知名主机托管公司GoDaddy.CDN提供商Cotendo的合作下开发的.