-1

我需要运行 Web 服务器,因为有些人使用 PHP,有些人使用在 Tomcat 上运行的 Groovy 和 Grails。我公司只允许80端口通过。

在这种情况下,我能否获得有关如何同时支持这两种情况的详细说明?

4

4 回答 4

1

通过 Apache、Nginx 或 Lighttp 等专用 Web 服务器代理您的 Grails 应用程序。

对于 Apache,启用 mod_proxy 并让它侦听端口 80。在 Tomcat 中运行您的 Grails 应用程序,侦听另一个端口,例如 8080。然后将 Apache 配置为代理到您的 Grails 应用程序:

# ensure these modules get loaded
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Deny from all
    Allow from localhost
</Proxy>
ProxyPass /mygrailsapp http://localhost:8080/mygrailsapp
ProxyPassReverse /mygrailsapp http://localhost:8080/mygrailsapp

然后,您可以将 Apache 配置为直接提供 PHP 或代理到另一台服务器。

于 2012-11-28T17:35:29.627 回答
1

使用 nginx 作为代理服务器,监听 80 端口。为 php 和 tomcat 定义不同的上游。

于 2012-11-28T16:15:40.467 回答
0

安装和配置mod_jk模块,以便 Apache 在侦听端口 80 时将请求转发到 Tomcat 以获取特定路径。

请参阅mod_jk的文档。

阿帕奇配置:

# send all requests to "/grails" to Tomcat    
JkMount /grails/* worker

Tomcat server.xml(取消注释 AJP 连接器)

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
于 2012-11-28T17:28:36.723 回答
-2

您可以将 Apache 服务器配置为侦听特定端口...编辑 http.conf 文件...添加:
Listen 8080
应该这样做,如果您需要添加服务器的 IP 地址:
172.x.x.x:80

于 2012-11-28T16:17:44.933 回答