最近我需要将websocket服务器与apache2集成,我发现apache2.4支持带有模块的websocket:mod_proxy_wstunnel
。
http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html
我自己编译了它们,但遇到了一个问题:
httpd: Syntax error on line 122 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_proxy_wstunnel.so into server: /usr/local/apache2/modules/mod_proxy_wstunnel.so: undefined symbol: ap_proxy_release_connection
我的步骤是:
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
/httpd-2.4.23/srclib
tar -zvf apr-1.5.2.tar.gz
tar -zvf apr-util-1.5.4.tar.gz
apr-1.5.2
为apr
apr-util-1.5.4
为apr-util
yum install pcre-devel
./configure --enable-so --enable-http --enable-proxy --enable-proxy-http --with-included-apr --enable-proxy-wstunnel
vi /usr/local/apache2/conf/httpd.conf
ServerName 127.0.0.1 <FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
以上是我的步骤。然后我尝试启动我的apache2:
/usr/local/apache2/bin/apachectl start
出现以下错误:
httpd: Syntax error on line 122 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_proxy_wstunnel.so into server: /usr/local/apache2/modules/mod_proxy_wstunnel.so: undefined symbol: ap_proxy_release_connection
我有谷歌,但找不到一些有用的信息。
答案 0 :(得分:1)
您需要加载mod_proxy以及mod_proxy_wstunnel。如果在没有mod_proxy的情况下加载基础代理模块(http / fcgi / ajp / wstunnel),则会出现此错误。
请检查您的配置,确保您对mod_proxy以及mod_proxy_wstunnel有LoadModule
指令。
您还可以使用apachectl -M
的输出来检查Apache正在加载的模块。