Apache httpd 2.4 使用Nginx跑静态文件 mod rpaf失效的解决办法

Apache httpd 2.4 使用Nginx跑前台 mod rpaf失效的解决办法

其实apache 2.4 的版本 已经不在需要rpaf了
直接使用 apache 默认自带的mod_proxy 就可以

默认core编译了 检查是不是有这个mod_proxy模块
执行 httpd -M | grep “proxy”
看下是不是有
如果有的话 会返回
20130505023120

新增proxy的配置文件
一般建议命名为 httpd-proxy.conf
内容为

将IP地址改下
其他和之前一样配置即可

DirectAdmin的Nginx插件已经支持Apache 2.4 了
老用户如果需要可以联系我们升级版本
均测试OK 运行无压力

动态header
apache-head

静态header
nginx-head

相关:

  • NginXArchives
  • Plugin module not found in module-path; module-path
  • Plugin module not found in module-path; module-path=/lib64/syslog-ng module=afsql
  • apache2 4
  • linux apache2 4 --libdir=/usr/lib64 失效
  • nginx apache 2 4 mod_proxy
  • Plugin module not found in module-path module-path=/lib64/syslog-ng
  • Plugin module not found in module-path; module-path=/usr/lib/syslog-ng/3 3 4 module=afsql
  • Restarting syslog-ng: Plugin module not found in module-path;

Apache 2.4.2 编译常见错误解决方式

尝试了一把从2005年以来第一次重大更新的新版本apache
不仅加入了云计算的基因 更大幅提升了性能
I/O读写和内存占用优化程度比较大
主要是增加了一个enevt模式 测试效果不错

实际我测试的 单纯的编译后静态文件和nginx的处理性能
确实已经相差不大
测试是使用ab测试的 单台nginx和阿帕奇测试后对比数据
获得的结果 下次进行系统的测试在发测试数据
暂时只是测试了jpg图片 和html静态的文件 数据可能没代表性

下面把编译的时候 常见的错误贴下
rotatelogs.o: In function post_rotate':
rotatelogs.c:(.text+0x5ed): undefined reference to
apr_file_link’
collect2: ld returned 1 exit status
make[2]: *** [rotatelogs] Error 1
make[2]: Leaving directory /root/src/httpd-2.4.2/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/root/src/httpd-2.4.2/support’
make: *** [all-recursive] Error 1

这些是因为没apr的包
有2个解决方式
第一种解决办法
yum remove “apr*”
wget //ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
tar xzf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure ; make ; make install
wget //ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure –with-apr=/usr/local/apr
yum install -y pcre-devel lua-devel libxml2-devel

第二种解决办法
下载arp的包以后 cp到httpd的文件夹
cp -r apr-1.4.6 httpd-2.4.2/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.2/srclib/apr-util

就可以解决了

第二个常见的错误 这种只有mini安装会出现 一般大部分菜鸟都不会安装devel的包

checking for OpenSSL version >= 0.9.7… FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl… configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

解决办法
yum install openssl-devel
yum update openssl

近期准备把所有服务器都升级到httpd 2.4.2 获得更好的性能

相关:

  • apache 2 4 2
  • apache2 4 2
  • undefined reference to `apr_file_link
  • configure: WARNING: OpenSSL version is too old
  • checking for OpenSSL version >= 0 9 7 FAILED
  • mod_ssl has been requested but can not be built due to prerequisite failures
  • rotatelogs c:( text 0x5ed): undefined reference to `apr_file_link
  • apache undefined reference to `apr_file_link
  • rotatelogs o: In function `post_rotate:
  • apache 2 4 2 编译

Apache+PHP FastCGI数据超时导致500错误问题

Apache + PHP FastCGI数据超时导致500错误问题

最近发现有台带维护的客户服务器 日志记录出现
[warn] .. mod_fcgid: read data timeout in 60 seconds, …
[error] .. Premature end of script headers: index.php …
比较多的这种错误

访问会出现 500 Internal Server Error
以为是权限导致的问题 结果发现并不是这个原因

更改

FcgidProcessLifeTime 8200
FcgidIOTimeout 8200
FcgidConnectTimeout 600
FcgidMaxRequestLen 1000000000

把其中FcgidConnectTimeout 60改为 600
重新启动后未发现问题

执行时间一般建议是60-120
除非你的应用需求 否则不建议设置太长
会产生定量的假死进程
引起apache服务无法访问

建议使用脚本进行监控
1. 进程达到一定数量的时候 kill掉
2. 进程超过xxx时间后kill掉
3. 系统负载到一定的数量 比如10的时候 reload进程
也可以回收实现

相关:

  • fastcgi 500
  • ApacheArchives-
  • centos php 500错误