zoukankan      html  css  js  c++  java
  • 使用apxs安装apache模块

    使用apxs安装apache模块

                    -——by石锅拌饭


    1.缘由

    前几天迁移系统。发现配置了fastcgi的一个脚本下载文件总是提示类似Connection reset by peer:FastCGI错误,后来发现应该是下载文件时间超过了fastcgi指定的idle-timeout导致的,这个时间默认是30秒,文件太大就easy超时。

    为了解决问题。于是把下载文件的cgi脚本执行环境配置成cgi。

    然而。坑爹的是,apache2.4.7已经默认採用mod_cgid模块取代mod_cgi模块。而mod_cgid模块与我用的python的jon模块有冲突,仅仅好又一次安装mod_cgi模块来替换掉mod_cgid模块了。

    之前我是用源代码编译的apache2.4.7,心想这回坑爹了,又一次编译apache搞挂线上系统环境就坑了。。还好。感谢万能的互联网,苦逼的查了一个小时,最终找到了一个不用又一次编译apache安装新模块的方法,于是乎。在測试机上測试后。就安装到线上环境了,用mod_cgi模块替代mod_cgid模块后,与jon模块完美兼容,能够成功下载文件了。


    2.apxs工具加入模块

    首先当然是找到apache2.4.7的源代码,进入$APACHE_SRC_HOME/modules/generators文件夹。会发现以下有mod_cgi.c文件,然后使用apxs工具编译即可了(注意,假设是像我一样源代码安装的apache,那么apxs工具已经自己主动安装好了。在$APACHE_HOME/bin文件夹以下)。

    apxs编译模块命令:

    $APACHE_HOME/bin/apxs -i -a -c mod_cgi.c

    假设没有报错。那么恭喜你,成功安装了。能够到apache的modules文件夹下看看有没有mod_cgi.so这个文件。有的话就没问题了。然后接下来就是改动httpd.conf文件了,将载入mod_cgid模块的语句去掉。然后加上载入mod_cgi模块的语句就可以,例如以下所看到的:

    #LoadModule cgid_module modules/mod_cgid.so 
    LoadModule cgi_module modules/mod_cgi.so

    最后。重新启动apache就OK了。


    3.參考资料

    使用apxs工具给apache安装模块

  • 相关阅读:
    j2ee学习笔记
    go开发和运行环境的配置
    Java基础学习笔记
    经典C/S服务器模型之守护进程
    linux抓包命令-tcpdump命令详解
    PostgreSQL的HA解决方案-2负载均衡(load balance)
    PostgreSQL的HA解决方案-1主从和备份(master/slave and backup)
    PostgreSQL的HA解决方案-项目概述
    将数据写到kafka的topic
    将sparkStreaming结果保存到Redshift数据库
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7270438.html
Copyright © 2011-2022 走看看