Apache上部署Pro*c常见的一个错误
在Apache上部署Pro*c,经常会出现服务器500错误.最近测试Linux上的Oracle iAS,
遇到问题不少,在这里把解决500错误的过程和大家大致描述一下,希望对大家能有所帮助.
操作系统:RedHat AdvanceServer 2.1
数据库: Oracle 8.1.7.4
Apache: 1.3.12
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
情况1:
假设我们请求的连接如下:
http://192.168.0.116:7777/cgi-bin/test
浏览器得到的错误信息如下:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, Fenng@ITPub.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一般的,管理员都会检查Apache的Logs目录下的error.log文件.检查该文件,提示信息如下:
test: error while loading shared libraries: libclntsh.so.8.0: cannot open shared object file: No such file or directory
别管那么多,如果有Metalink帐号的话,先去看看,查了几个帖子,
提示说Apache的环境变量不正确.有些语焉不详.
既然提示信息是找不到libclntsh.so.8.0文件,首先看看系统是不是有这个库文件:
[oracle@Linux lib]$ pwd
/u/app/oracle/product/8.1.7/lib
[oracle@Linux lib]$ ls -l libcln*
lrwxrwxrwx 1 oracle root 16 Oct 23 13:56 libclntsh.so -> libclntsh.so.8.0
-rwsrwxr-x 1 oracle root 6285134 Oct 23 13:56 libclntsh.so.8.0
-rwsrwxr-x 1 oracle root 8689756 Oct 23 13:57 libclntst8.a
哦,此文件存在.
接下来检查环境变量:
[oracle@Linux lib]$ set | grep LIB
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib:/lib:/usr/lib:/usr/openwin/lib
Ok.问题定位:用户的环境变量不正确.
解释:原来系统中还安装过9ias ,管理员一时疏忽,环境变量没有调整好.
修改后,得到解决.
(哇,你这也太简单了,没劲)OK,看下一个情形.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
情况二:
系统环境:多加了Oracle 9iAS ,其它同上.
Apache是用iAS 默认的安装.
同样出现500错误.
有了上次的经验,逐一的查找.....
居然...不管用
用户环境变量正确,在Shell下执行test程序,可以执行,并输出正确结果!
上网,查找Google,Metalink,得到的信息大致如下:Apache 的环境变量不正确
建议在Httpd.conf中加入
SetEnv ORACLE_HOME 'your path'
SetEnv ORACLE_SID 'your sid'
SetEnv LD_LIBRARY_PATH 'your lib path'
尝试之后,没有一点作用.
看来,解决的方法不对路.
从头分析:登录到oracle用户下,此时环境变量正确的,然后启动/停止Apache,用的是 apachectl start/stop命令.
这个apachectl命令会不会有问题??
$more apachectl
找到了这样一段:
if [ -z "$LD_LIBRARY_PATH" ]
then
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib ; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib:${LD_LIBRARY_PATH} ; export LD_LIBRARY_PATH
fi
又是iAS惹的祸!修改之后.问题解决.
老生常谈的建议:在操作的过程中,对配置文件修改的时候,事先做个备份是个好习惯。否则,恢复不到初始状态也很头疼的哦。
附,系统的一些配置信息大致如下:
[oracle@Linux bin]$ uname -a
Linux Linux 2.4.9-e.3 #1 Fri May 3 17:02:43 EDT 2002 i686 unknown
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
PL/SQL Release 8.1.7.4.0 - Production
CORE 8.1.7.0.0 Production
TNS for Linux: Version 8.1.7.4.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
+++++++++++++++++++++++++++END++++++++++++++++++++++++++++++++
分享到:
相关推荐
、linux下部署apache服务器、linux下部署apache服务器、linux下部署apache服务器
Apache web 服务器 部署Apache web 服务器 部署
Apache中部署Django 首先要保证必须的软件都安装好了(Apache, mode_python) 下面就直接来讲讲在Apache中部署Django应用.
import org.apache.tools.*; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; 等
Apache TEZ 部署手册 的各个步骤,包括打包等步骤说明
apache的安装部署,appche的linux安装部署,详细介绍安装及配置
135-PHP、Apache环境中部署DVWA
apache+mysql+php部署,Web服务器
用于服务端服务器部署,主要说明关于apache及redis的部署
在日常的网站发布中很多情况下都无法做到一个IP对应一个站点,在IP4的情况下IP的资源是相对有限的。然而作为最流行的Apache自然也考虑到这种情况,下面来一起看看详细的介绍吧。 配置方法 首先apache的版本是2.4.7,...
全程视频指导如何部署apache应用服务器部署服务器SSL证书。让您直观易懂
Pro apache hadoop 原版书
Apache集群部署 与tomcat的连接包 Apache集群部署 与tomcat的连接包 Apache集群部署 与tomcat的连接包
此文档提供svn 集合apache部署的流程。 基础的配置文档,适合代码管理人员使用参考。
apache部署django项目所涉及的相关材料 要保证apache/mod_wsgi/python三者的位数一致
Apache Kylin安装部署Apache Kylin安装部署Apache Kylin安装部署
Apache WebSphere服务器部署方案,相信有人会需要。
apache一键部署脚本 环境:CentOS7 功能:sehll脚本一键部署 亲测可用
主要介绍了Apache上部署Django步骤详细介绍的相关资料,需要的朋友可以参考下
Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一。本文档用7步让你上手spark,节省学习时间