./opmnctl status 查看状态
./opmnctl startall 启动所有服务
./opmnctl stopall 停止所有应用
./opmnctl shutdown 关闭所有服务,包括管理服务
./opmnctl startproc ias-component=HTTP_Server 启动单个服务
./opmnctl startproc process-type=HTTP_Server 启动单个服务
当执行启动所有应用的命令之后报错
ias-component/process-type/process-set:
HTTP_Server/HTTP_Server/HTTP_Server/
Error
--> Process (index=1,uid=878718185,pid=5735)
failed to start a managed process after the maximum retry limit
Log:
/home/oracle/app/ias/opmn/logs//HTTP_Server~1.log
在 这个日志文件中没有任何异常,只有start process之类的命令,日志中没有明显报错
单独启HTTP_Server进程试试看
$ ./opmnctl startproc process-type=HTTP_Server
错误提示是一样的。
分析:
1、此时可以看下Apache的错误日志文件 ..../Apache/Apache/logs/error_log<date>
2、如果还是没有明显报错,可以查看 ..../Apache/Apache/logs/httpd.pid 的属性,看看是否和其他文件相同,很可能已经变成类似于 root oinstall 之类的了
3、关闭所有应用以后,启动控制台试一试,./emctl start iasconsole 启动之后,查看java进程是否已经起来,如果起来,登录http://ip:1156 登录进去检查状态,点击“全部启动”看看,此时只有HTTP_Server无法启动,查看错误日志也和上面一样没有特殊之处;
解决:这很可能是用错误的用户执行启动程序造成,比如本来应用用ias用户启动,但是你启动的时候选择了root,这样原本属于ias用户的日志文件就自动变成了root的了,ias没有权限读写导致http_server启动失败
1. 将Apache/Apache/logs 目录下的httpd.pid 所有者改为ias.
2.执行启动,第一次可能启动超时,再次启动成功。如启动不成功,清空Apache/Apache/logs目录后再启动。
3.将所有应用程序(整个工程目录)的所有者改成ias。
使用root用户启动apache,会导致httpd.pid文件的属主变成了root,导致后来使用ias等普通用户启动apache时,ias会尝试写httpd.pid以便记录自己的pid进程号,但是由于httpd.pid目前的属主是root使用ias用户修改httpd.pid文件肯定会失败。
扩展知识:
文件httpd.pid记录了apache启动后的进程标识(PID,Process ID),对于httpd服务有着及其重要的作用。若此文件不能正常读写,httpd进程会主动退出。
可以参考其他相关类似文章:
http://hi.baidu.com/nboy/blog/item/6c70367af5e0b5e82e73b3a7.html
转载时请标识出处!多谢!