apache安装模块工具apxs

前言

以下是在自己的腾讯云vps(ubuntu16.04)操作,通过oneinstack安装lamp的,本文通过apxs安装mod_proxy.so模块。

正文

apxs是apache管理模块的工具,它做的是将mod.c生成mod.so,并使其能被apache加载,使用apxs的前提:mod_so已被加载

  • 查看相关信息
## 注:以下httpd路径以自己服务器为准
## 查看是否加载了mod_so模块
/usr/local/apache/bin/httpd -l
## 列出编译过的模块,可看出是static静态,还是shared动态
/usr/local/apache/bin/httpd -M
## 查看apache版本
/usr/local/apache/bin/httpd -v
## 笔者的是2.2.34
Server version: Apache/2.2.34 (Unix)
## 搜索
locate apxs
## 如果没有就安装吧
sudo apt-get install apache2-dev
## 更新查询数据库
sudo updatedb
## 查询是否有apxs
locate apxs
## 有内容显示一般就是成功了

apache安装模块的流程是这样的(以mod_proxy.so为例子):

  1. 找到mod_proxy.c 文件,即源文件,这个上官网下载源码包,注意对应自己的版本。
  2. mod_proxy.c编译,弄成mod_proxy.so放到modules/下。
  3. 在apache配置文件httpd.conf加上LoadModule 语句+ 找.c文件
    使用apxs,第二三步一个命令就可完成
  • 使用apxs
    参数说明
-i : 把生成的.so文件移动到modules目录下(大概这个意思)
-c : 编译,.c->.so
-a : 在httpd.conf加上LoadModule该模块语句语句

具体使用

## 找到自己mod_proxy.c文件位置,执行apxs
## 注:mod_proxy.so模块需要2个文件编译
/usr/local/apache/bin/apxs -i -c -a mod_proxy.c proxy_util.c
## 查看modules下是否有mod_proxy.so模块
ll /usr/local/apache/modules/mod_proxy.so
## 显示
-rwxr-xr-x 1 root root 151K 1月   7 19:39 /usr/local/apache/modules/mod_proxy.so
## 查看httpd.conf是否LoadModule
cat /usr/local/apache/conf/httpd.conf | grep "proxy" 
## 显示
LoadModule proxy_module      modules/mod_proxy.so

## 重启httpd
service httpd stop
service httpd start
## 查看加载的模块
/usr/local/apache/bin/httpd -M

至此,使用apxs加载mod_proxy.so模块完成

使用apxs加载自己的apache模块

在apax的介绍里看到的,顺手记录之,如果自己写了个小模块,也可以通过apxs加载,但我没测试过,具体看官网apxs
参数说明:

-g : generate,生成.c等文件
-n : 命名
$ /usr/local/apache/bin/apxs -g -n foo
Creating [DIR] foo
Creating [FILE] foo/Makefile
Creating [FILE] foo/modules.mk
Creating [FILE] foo/mod_foo.c
Creating [FILE] foo/.deps
## 然后也是将.c -> .so 

总结

.c源文件,.o目标文件,.a静态库,.so动态库,用过gcc编译的对使用apxs使用应该很容易就能掌握。

相关链接

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值