代码之家  ›  专栏  ›  技术社区  ›  cidy.long

Centos 7 apache httpd无法加载weblogic插件库

  •  1
  • cidy.long  · 技术社区  · 7 年前

    这是一个通过添加weblogic apache插件来配置httpd服务的实践,以支持apache frontage来路由流量。这个过程是Puneeth Prakash的Oracle博客:

    https://blogs.oracle.com/blogbypuneeth/configuring-wls-web-server-proxy-plug-in-for-apache-http-server-v2
    

    工作环境为:Centos 7,apache 2.4.29。

    1. 我第一次尝试为12c安装weblogic apache插件(WLSPlugins12c-12.1.2),lib目录中有四个lib,两个用于httpd的模块和另外两个动态共享lib。不幸的是,这个版本不能在ajax请求上正常工作,有时会使会话无效。
    2. 接下来,我尝试了更新的版本:WLSPlugin12.2.1.2.0。lib目录中有七个文件,两个文件用于模块libs,其他5个文件作为共享动态加载libs。我尝试将lib目录中的所有文件放入/usr/local/lib,并将所有者更改为root:root,将所有文件的模式更改为755,然后在config file 00 base中放置一行。etc/httpd/conf.modules中的conf。d目录。例如:“ LoadModule weblogic\u module/usr/local/lib/mod\u wl\u 24。所以 “系统正确加载mod\u wl\u 24.so,但不加载依赖项libopmnsecure.so,错误为:

    " 1月6日16:22:49 centos。我的网站。通用域名格式。au-httpd[4001]:httpd:etc/httpd/conf/httpd的第58行出现语法错误。conf:etc/httpd/conf.modules的第67行出现语法错误。d/00基准。conf:无法加载/usr/local/lib/mod\u wl\u 24。所以进入服务器:libopmnsecure。so:无法打开共享对象文件:没有此类文件或目录 "

    从错误消息中我们可以看到,mod\u wl\u 24正在尝试负载相关的动态lib libopmnsecure。所以,但没有找到它。但事实并非如此,libopmnsecure。所以只需和mod\u wl\u 24坐在同一个目录中。所以正如PuneethPrakash的Oracle博客所要求的那样。

    我还设置了所有相关的环境变量,包括APACHE\u HOME、JAVA\u HOME、PLUGIN\u HOME、LD\u LIBRARY\u PATH。

    如果有人有主意,请提出建议!

    2 回复  |  直到 7 年前
        1
  •  1
  •   youpilat13 Ty Petrice    7 年前

    您需要在LD\u LIBRARY\u path中添加特定路径,并确保在httpd启动时加载该路径。

    我知道你说你有,但请仔细检查,因为这正是错误所说的(你没有)。

    默认情况下,Apache httpd使用一个文件作为环境变量,这些环境变量需要在使用其脚本“apachectl”启动Apache httpd之前进行设置

    下面是我们设置它的典型envvars文件:

    if test "x$LD_LIBRARY_PATH" != "x" ; then
      LD_LIBRARY_PATH="/path/to/httpd/lib:/path/to/httpd/weblogic-module/lib:$LD_LIBRARY_PATH"
    else
      LD_LIBRARY_PATH="/path/to/httpd/lib:/path/to/httpd/weblogic-module/lib"
    fi
    export LD_LIBRARY_PATH
    

    顺便说一下,您不需要httpd的所有文件来启动以下文件: libdms2.so libonssys公司。所以 libopmnsecure。所以 显然,模块: mod\U wl\U 24。所以

    编辑:注意,对于这些较新版本的weblogic模块来说,其他库的这种要求/依赖性是新的,在早期版本中没有必要这样做。

    更新:

    通过以下步骤解决了此问题:

    1. 从系统中删除yum安装的httpd服务。
    2. 下载(&A);在客户位置从Oracle安装weblogic apache插件12.2.1.2。
    3. 下列的 https://blacksaildivision.com/how-to-install-apache-httpd-on-centos 在CentOS 7中从源代码构建apache 2.4.29
    4. 请注意:运行时 ./configure 在apache构建过程中,将参数用作:

      --libdir=/usr/local/WLSPlugins12c-12.2.1.2/lib point to your weblogic plugin lib location 
      
    5. 在CentOS中构建并安装apache之后,安装httpd。由systemctl控制的服务
    6. 重新配置apache并重新启动它。

    这对你有用。

        2
  •  0
  •   cidy.long    7 年前

    通过以下步骤解决了此问题: 1、从系统中删除yum安装的httpd服务。 2、下载;在客户位置从Oracle安装weblogic apache插件12.2.1.2。 3、以下内容 https://blacksaildivision.com/how-to-install-apache-httpd-on-centos 在CentOS 7中从源代码构建apache 2.4.29 4、请注意:运行时/在apache构建过程中进行配置,使用如下参数:-libdir=/usr/local/WLSPlugins12c-12.2.1.2/lib指向weblogic插件库位置 在CentOS中构建并安装apache之后,安装httpd。由systemctl控制的服务 6、重新配置apache并重新启动。 这对你有用。