0

Heroku で Grails スタックを使用してアプリをデプロイしています。開発中にのルートからサービスを提供できるのと同じように、 ではmyapp.herokuapp.com/xyzなくのルートでアプリを提供できるようにしたいと考えています。私はConfig.groovy に次のように追加しようとしました:myapp.herokuapp.comlocalhost:8080/xyzgrails.app.context

environments {
    production {
            grails.app.context = "/xyz"
    }
}

しかし、展開には影響がないようです。Heroku で何かを設定する必要がありますか? 何か案は?

4

2 に答える 2

1

コンテキストパスを設定するjetty-web.xmlには、ディレクトリにファイルを追加する必要があるようです:WEB-INF

<?xml version="1.0" encoding="UTF-8"?>
<!-- File: web-app/WEB-INF/jetty-web.xml -->
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
    <Set name="contextPath">/xyz</Set>
</Configure>

これが適切なクレジットに役立つ場合は、Tomas Lin によるGrails と Herokuに関する記事からリンクされたこのサイトに感謝します。

于 2012-07-29T07:55:41.070 に答える
0

現在のGrails ビルド パックではコンテキスト パスを設定できないと思います。必要に応じて、ビルド パックをフォークしてハックし、コンテキストの設定をサポートできます (ビルド パックの詳細については、ビルド パックのドキュメントを参照してください)。

もう 1 つのオプションは、Grails アプリをローカルで WAR ファイルにビルドし、 WAR デプロイメントを使用して WAR ファイルをデプロイすることです。WAR デプロイ プロセスでは、webapp-runnerユーティリティを使用して Tomcat でアプリを実行し、コンテキスト パスの構成をサポートします。webapp-runner 7.0.22.3 のヘルプ出力は次のとおりです (たまたまインストールしたもので、少し古くなっている可能性があります)。

Tomcat Runner runs a Java web application that is represented as an exploded war in a Tomcat container Usage: java -jar tomcat-runner.jar [arguments...] path/to/webapp Arguments: --session-timeout The number of minutes of inactivity before a user's session is timed out
--port The port that the server will accept http requests on
--context_xml The parth to the context xml to use
--path context path (default is /)
--session_manager session store to use (valid options are 'memcache')
--session_manager_operation_timeoutoperation timeout for the memcached session manager. (default is 5000ms)
--session_manager_locking_modeSession locking mode for use with memcache session store. (default is all)
--session_manager_ignore_patternRequest pattern to not track sessions for. Valid only with memcache session store. (default is '.*\.(png|gif|jpg|css|js)$'

WAR deploy docで説明されているように、 WEBAPP_RUNNER_OPTSconfig varを使用して webapp の webapp-runner オプションを設定できます。

于 2012-12-04T17:29:23.987 に答える