PHPを使用している人もいれば、Tomcatで実行されるGroovyとGrailsを使用している人もいるので、Webサーバーを実行する必要があります。私の会社では、ポート80のみを通過させています。
この場合、両方をサポートする方法の詳細な手順を入手できますか?
Apache、Nginx、Lighttp などの専用 Web サーバーを介して Grails アプリケーションをプロキシします。
Apache の場合は、mod_proxy を有効にしてポート 80 でリッスンします。Tomcat で Grails アプリケーションを実行し、別のポート (8080 など) でリッスンします。次に、Grails アプリにプロキシするように Apache を構成します。
# 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
次に、PHP を直接提供するか、別のサーバーにプロキシするように Apache を構成できます。
80ポートでリッスンするプロキシサーバーとしてnginxを使用します。php と tomcat に異なるアップストリームを定義します。
ポート80でリッスンしているときに、Apacheが特定のパスの要求をTomcatに転送するように、mod_jkモジュールをインストールして構成します。
mod_jkのドキュメントを参照してください。
Apache構成:
# 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" />
特定のポートをリッスンするように Apache サーバーを構成できます... http.conf ファイルを編集します... 追加:
Listen 8080
サーバーの IP アドレスを追加する必要がある場合は、これで完了です。172.x.x.x:80