我正在将Apache版本从2.0升级到2.4。在安装了2.4之后,我遇到了以下问题:
Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration
AH00526: Syntax error on line 77 of /apache/conf/ssl.conf:
ssl.conf中的第77行是SSLMutex file:/apache/logs/ssl_mutex
。
我已经加载了mod_ssl,并且我也加载了以下mod,但仍然无法解决这个问题。
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
注意:如果我注释掉SSL .conf文件中的SSLMutex行,那么Apache正在工作,包括SSL端口。我担心如果SSLMutex问题没有解决会发生什么。请提出解决方案。
谢谢
将SSLMutex替换为
Mutex default
SSLMutex在2.2之后被删除
除非您在2.2中有一些特定的互斥锁配置,否则注释掉这一行将提示Apache使用默认的互斥锁机制。请参阅2.2到2.4的升级文档和互斥指令文档。
如果您想要等效的Apache SSL配置,请使用:
Mutex file:/apache/logs/ssl_mutex
ssl_mutex是服务器本地驱动器上的一个目录,由Apache (httpd进程)访问,不在全局可读目录中(例如不在'/tmp'中),也不在网络存储中(例如不是NFS)。
参考:Apache核心功能
这对我来说很有效:
从Apache 2.2的配置更改:
/etc/apache2/mods-enabled/ssl.conf:
SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
到Apache 2.4
Mutex file:${APACHE_RUN_DIR} default