与 Tomcat 9 的 Httpd 集成
Httpd integration with Tomcat 9
我需要使用 Tomcat 配置 httpd。我尝试了几个步骤,但没有用。
1) 我安装了 httpd2.4 和 tomcat9。用 localhost:8080 和 localhost 分别检查,它工作得很好。
2) 为了配置,我对 httpd 进行了以下更改。
a) 取消 LoadModule 下面的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
b) 添加了新的虚拟主机
<VirtualHost ws.foobar.com:80>
ServerName ws.foobar.com
ProxyRequests Off
ProxyPass /examples ajp://localhost:8009/examples
ProxyPassReverse /examples ajp://localhost:8009/examples
</VirtualHost>
3) 同样,完成 Tomcat 的更改并取消注释 AJP 连接器。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />
进行这些更改后,我也更改了 windows 系统上的主机文件。
"# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
103.73.151.211 ws.foobar.com
192.168.0.103 ws.foobar.com
127.0.0.1 ws.foobar.com
::1 ws.foobar.com"
完成所有这些更改后,我的 httpd.exe 未启动,tomcat 启动但在启动时出现 AJP 错误。
我自己已经弄清楚了问题以及如何使用 tomcat 配置 Apache。
我做了以下更改:
- 未注释 LoadModule proxy_module modules/mod_proxy.so &
LoadModule proxy_http_module modules/mod_proxy_http.so 来自
httpd.conf 文件
uncommented Include conf/extra/httpd-vhosts.conf, always in
httpd.conf 在 httpd-vhosts.conf 中,我添加如下。删除“< V”之间的 space,因为不知何故没有 space 它不会显示在 Whosebug 中。
< VirtualHost *:80>
ServerName localhost
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
< /VirtualHost>
我需要使用 Tomcat 配置 httpd。我尝试了几个步骤,但没有用。
1) 我安装了 httpd2.4 和 tomcat9。用 localhost:8080 和 localhost 分别检查,它工作得很好。
2) 为了配置,我对 httpd 进行了以下更改。
a) 取消 LoadModule 下面的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
b) 添加了新的虚拟主机
<VirtualHost ws.foobar.com:80>
ServerName ws.foobar.com
ProxyRequests Off
ProxyPass /examples ajp://localhost:8009/examples
ProxyPassReverse /examples ajp://localhost:8009/examples
</VirtualHost>
3) 同样,完成 Tomcat 的更改并取消注释 AJP 连接器。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />
进行这些更改后,我也更改了 windows 系统上的主机文件。
"# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
103.73.151.211 ws.foobar.com
192.168.0.103 ws.foobar.com
127.0.0.1 ws.foobar.com
::1 ws.foobar.com"
完成所有这些更改后,我的 httpd.exe 未启动,tomcat 启动但在启动时出现 AJP 错误。
我自己已经弄清楚了问题以及如何使用 tomcat 配置 Apache。
我做了以下更改:
- 未注释 LoadModule proxy_module modules/mod_proxy.so & LoadModule proxy_http_module modules/mod_proxy_http.so 来自 httpd.conf 文件
uncommented Include conf/extra/httpd-vhosts.conf, always in httpd.conf 在 httpd-vhosts.conf 中,我添加如下。删除“< V”之间的 space,因为不知何故没有 space 它不会显示在 Whosebug 中。
< VirtualHost *:80> ServerName localhost ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ < /VirtualHost>