【发布时间】:2015-12-16 14:35:42
【问题描述】:
我正在开发一个使用 kvm 在开放星云中实例化的 debian jessie 机器。我要安装jboss eap和mod_cluster,所以我需要安装apache2服务。
我按照 mod_cluster 快速入门指南设置 /etc/apache2/apache2.conf 文件如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so
ServerName master
Listen 10.0.0.6:6666
<VirtualHost 10.0.0.6:6666>
<Directory />
Order deny,allow
Deny from all
Allow from 10.0.0.
</Directory>
KeepAliveTimeout 60
MaxKeepAliveRequests 0
ManagerBalancerName nebula
AdvertiseFrequency 5
<Location /mod_cluster_manager>
Order deny,allow
Deny from all
Allow from 10.0.0.
</Location>
当我运行命令 /etc/init.d/apache2 start 它返回错误,systemctl status apache2.service -l 显示:
apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Active: failed (Result: exit-code) since Wed 2015-12-16 15:17:45 CET; 10min ago
Process: 844 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
Dec 16 15:17:45 debian apache2[844]: Starting web server: apache2 failed!
Dec 16 15:17:45 debian apache2[844]: The apache2 configtest failed. ... (warning).
Dec 16 15:17:45 debian apache2[844]: Output of config test was:
Dec 16 15:17:45 debian apache2[844]: apache2: Syntax error on line 1 of /etc/apache2/apache2.conf: Cannot load modules/mod_proxy.so into server: /etc/apache2/modules/mod_proxy.so: undefined symbol: ap_escape_html
Dec 16 15:17:45 debian apache2[844]: Action 'configtest' failed.
Dec 16 15:17:45 debian apache2[844]: The Apache error log may have more information.
Dec 16 15:17:45 debian systemd[1]: apache2.service: control process exited, code=exited status=1
Dec 16 15:17:45 debian systemd[1]: Failed to start LSB: Apache2 web server.
Dec 16 15:17:45 debian systemd[1]: Unit apache2.service entered failed state.
我无法理解“未定义符号:ap_escape_html”的含义以及如何解决它。
提前感谢您的帮助。
更新 1:我尝试从源代码构建 httpd。我也从源代码安装了 pcre 库,但是当我运行 PREFIX/bin/apachectl -k start 它返回以下错误:
/etc/httpd/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
【问题讨论】:
-
你关注this了吗?你只复制模块吗?如果是这样,jboss 模块将针对与 Debian 附带的不同的 httpd 版本进行编译。您可以使用 jboss httpd 并禁用 deb httpd,或者根据 deb httpd 从源代码编译集群模块。
-
@Kenney 是的,我遵循了该指南。我只复制了指南所说的模块。最初我尝试使用从 mod 集群下载的 httpd 预配置安装,但是当我尝试运行“/opt/jboss/httpd/apachectl start”时,它返回错误:“httpd:未找到”。所以我尝试安装 apache2 并将其配置为快速指南所说的将模块复制到 /etc/apache2/modules/
-
我尝试再次下载 mod cluster 并重新配置它,当我现在启动 apachectl start 它返回“/opt/jboss/httpd/sbin/httpd:符号查找错误:/opt/jboss/httpd/ lib/libapr-1.so.0:未定义符号:dlopen"
-
也许只是坚持使用现有的 Debian HTTPD(用于自动安全更新)和build mod_cluster from source。不幸的是,没有快速启动。除非您可以运行预配置的安装 -
httpd: not found看起来像一个简单的$PATH问题。 -
@Kenney 我刚刚更新了问题,我正在尝试从源代码安装 httpd,但是当我运行 apachectl 时它返回错误
标签: jboss apache2 debian mod-cluster opennebula