总是报错:Cannot open TEMP post file /tmp/_wl_proxy
1.
chmod 777 -R -f temp
chmod -Rv 777 /tmp/
这个方法不好用;
2.
FileCaching OFF
这个方法都是不推荐用:
http://www.myexception.cn/operating-system/781256.html
apache weblogicCannot open TEMP post file '/tmp错误处理
是tmp目录下权限不够,执行chmod 777 -R -f temp后,就ok了,
或通过设置下面的参数在apache和weblogic整合的mod中,加一个参数FileCache 设置成off就ok了,不推荐此方式
Cannot open TEMP post file '/tmp/_wl_proxy/_post_245824_1_1235046331_624' for POST of 7991 bytes
<VirtualHost *>
ServerName www.test.com
DocumentRoot /sun/docdir/www
AddDefaultCharset utf-8
CustomLog "|/usr/local/cronolog/sbin/cronolog /home/logs/access%Y%m%d.log" combined
MaxPostSize -1
<Directory "/sun/docdir/www/">
Options FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
RewriteLogLevel 1
RewriteLog "/home/logs/rewrite_www.log"
<IfModule mod_weblogic.c>
WebLogicHost 192.168.0.252
WebLogicPort 8080
WLTempDir /home/logs
PathPrepend /www
FileCaching OFF
WebLogicCluster 192.168.0.252:8080
MatchExpression *.do
MatchExpression *.jsp
MatchExpression *.action
MatchExpression */slt*
</IfModule>
</VirtualHost>
3.
指定WLTempDir路径
试试这个方法吧:
http://blog.csdn.net/hongyunqiang/article/details/6388713
现象描述:
apache集成weblogic,通过webserver路径访问应用。发起post请求时,报“服务器无响应 500”错误。
问题调试:
1. 修改httpd.conf文件,设置日志为debug模式:Debug on (设置为打开)
2. 指定日志输出路径:WLLogFile /webcs/ebweb/logs/eibs2/logFile
修改后 location配置如下:
<Location "/eweb">
SetHandler weblogic-handler
WebLogicHost 172.111.58.11
WebLogicPort 7012
KeepAliveEnabled On
ConnectTimeoutSecs 30
ConnectRetrySecs 2
SecureProxy OFF
Debug on
WLLogFile /webcs/ebweb/logs/eibs2/logFile
</Location>
问题结果:
日志中,发现POST请求,报错误如下:
================New Request: [POST /eweb/login.do HTTP/1.1] =================
INFO: SSL is not configured
Using Uri /eweb/login.do
After trimming path: '/eweb/login.do'
The final request string is '/eweb/login.do'
SEARCHING id=[172.111.58.11:7012] from current ID=[172.111.58.11:7012]
The two ids matched
@@@FOUND...id=[172.111.58.11:7012], server_name=[172.111.58.41], server_port=[708
Going to get the post data of size=3002 clength=0
getWLFilePath: Complete File name = [/tmp/_wl_proxy/_post_10243_0]
Cannot open TEMP post file '/tmp/_wl_proxy/_post_10243_0' for POST of 3002 bytes
IO error reading client POST data; sys err#: [13] sys err msg [Permission denied]
post的内容都是放在内存里缓存着,运行一段时间后,内存放满了,则使用临时问题保存post内容。此时不存在该临时文件,故报错;
解决办法:
为单独的应用,指定单独post内容存放目录。由于集成配置中未指定WLTempDir,默认使用/tmp/_wl_proxy。
指定WLTempDir路径为“/webcs/ebweb/logs/eibs2/wl”,配置如下:
<Location "/eweb">
SetHandler weblogic-handler
WebLogicHost 172.111.58.11
WebLogicPort 7012
KeepAliveEnabled On
ConnectTimeoutSecs 30
ConnectRetrySecs 2
SecureProxy OFF
#Debug on
#WLLogFile /webcs/ebweb/logs/eibs2/logFile
WLTempDir /webcs/ebweb/logs/eibs2/wl
</Location>
重新启动httpd.conf。测试问题解决。 注:Debug、WLLongFile属性可以注释掉。
http://blog.csdn.net/atom992/article/details/5638988
现象描述:
apache集成weblogic运行一段时间后,会出现
Cannot open TEMP post file '/tmp/_wl_proxy/_post_245824_1_1235046331_624' for POST of 7991 bytes
报错,重启apache可以恢复正常,但是运行一段时间后又会出该问题。
问题分析:
网上查的说法是weblogic应该对/tmp/_wl_proxy/目录有写的权限,但是实际上weblogic所在机器上该目录不存在,创建后,发现该目录也没有写入的操作。
后来分析,post动作应该是apache提交给weblogic,故
解决办法:
在apache所在机器/tmp以apache用户创建_wl_proxy目录,问题解决。
分析以上的问题:
1、网上的/tmp/_wl_proxy/目录有写的权限的说法是否错误?
网上说的weblogic应该对/tmp/_wl_proxy/目录有写的权限说法应该有偏差,只是这种情况下,apache与weblogic应该是在同一台机器上;
2、运行一段时间才报错,重启恢复正常原因?
运行一段时间后才报该问题,可能是因为启动apache后,post的内容都是放在内存里缓存着,运行一段时间后,内存放满了,则使用临时问题保存post内容。此时不存在该临时文件,故报错;
3、为什么是/tmp/_wl_proxy目录?
由于集成配置中未指定WLTempDir,故默认使用/tmp/_wl_proxy。
PS:环境说明:
apache所在操作系统:
$ uname -a
Linux testapache 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
apache版本:
$ ./apachectl -v
Server version: Apache/2.0.59
Server built: Aug 21 2009 13:36:05
apache加载模块:
$ ./apachectl -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c
weblogic所在操作系统
$ uname -a
Linux testapp 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
weblogic版本:
8.1.5
apache加载weblogic配置(htpd.conf):
LoadModule weblogic_module modules/mod_wl_20.so
<Location /app>
SetHandler weblogic-handler
WebLogicCluster 198.168.11.12:7001
WLSocketTimeoutSecs 30
ConnectTimeoutSecs 60
KeepAliveEnabled ON
KeepAliveSecs 30
</Location>
后记:
以apache用户在/tmp下创建_wl_proxy目录后发现,该目录下确实有apache用户写临时文件的操作,而且运行一段时间后, 该目录下临时文件会被清空。
http://hi.baidu.com/dragonqs/item/df6f0de1e44b9cb62f140b83

浙公网安备 33010602011771号