apache工具包_apache怎么安装

2022-09-29 11:21:49 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

前言

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

正文

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

  • 查看相关信息
代码语言:javascript复制
## 注:以下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)
  • 安装apxs
代码语言:javascript复制
## 搜索
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 参数说明
代码语言:javascript复制
-i : 把生成的.so文件移动到modules目录下(大概这个意思)
-c : 编译,.c->.so
-a : 在httpd.conf加上LoadModule该模块语句语句

具体使用

代码语言:javascript复制
## 找到自己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 参数说明:

代码语言:javascript复制
-g : generate,生成.c等文件
-n : 命名
代码语言:javascript复制
$ /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使用应该很容易就能掌握。

相关链接

  • apxs
  • 如何向已经安装好的apache添加一个模块

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193596.html原文链接:https://javaforall.cn

0 人点赞