我们最近安装了一台新的 RHEL7 服务器。在这台服务器中,我们有一堆虚拟主机,在虚拟主机中有几行代码如下 -
JkMount /rules_engine/rulesApi/rules/* rulesEngine
JkMount /api/* rulesEngine
JkMount /rules_editor/* rulesEngine
因此,为了解决这个问题,我们在 apache 配置中使用 mod_jk。但是,当我尝试启动 apache 时,出现以下错误 -
Syntax error on line 1 of /etc/httpd/conf.d/mod_jk.conf: Cannot load /etc/httpd/modules/mod_jk.so into server: /etc/httpd/modules/mod_jk.so: undefined symbol: ap_get_server_version
mod_jk.conf 文件位于 /etc/httpd/conf.d 中,其形式如下 -
LoadModule jk_module /etc/httpd/modules/mod_jk.so
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
Change to WARN or ERROR for Prod
JkLogLevel info
JkShmFile /var/log/httpd/mod_jk.shm
JkMount /rulesApi/rules/* rulesEngine
JkMount /api/* rulesEngine
JkMount /* rulesEditor
JkMount /rules_editor/* rulesEditor
您对这个错误意味着什么有任何想法吗?我该如何让 httpd 启动?
谢谢。
答案1
似乎 mod_jk.so 文件不存在于 /etc/httpd/modules 目录中,或者您添加的 mod_jk.so 与您的 apache 版本不兼容。您使用的 apache 是 2.2/2.4?对于 apache 2.4,请下载 mod_jk-1.2.37,然后尝试,它对我有用。