我使用播放框架2.0下工作。 我使用「play dist」創建獨立應用程序。路由在遊戲框架2.0不提供獨立的應用程序的Nginx
而且我用的Nginx作爲前端。 所以,我有Nginx的配置:
location /terra {
proxy_pass http://127.0.0.1:9000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
我的路由文件看起來像:
GET/controllers.Application.index()
GET /projects controllers.Application.projects()
當我開始喜歡
sh start -Dhttp.address=127.0.0.1 -Dhttp.port=9000
或只是
sh start
的應用並去http://hostnamehere/terra我得到: 行動沒有發現對於請求「GET /千佛」
如果我改變GET/controllers.Application.index()
到GET /terra controllers.Application.index()
- 它沒有工作過。
此外,當我在本地運行我的應用程序並轉到「localhost:9000/WRONG_ROUTING_NAME」時,出現同樣的錯誤,但我可以看到「這些路由已按照以下順序嘗試:」以及方法列表。在部署應用程序後,我看不到相同的列表。
當我使用curl myhost.com:9000
我得到:curl: (52) Empty reply from server
- Azee 12秒前編輯
我嘗試了一下。 運行應用程序的結構必須保持。例如,你有一個目錄projectName /,它包含一個項目。當您運行「play dist」時,會創建一個projectName/dist/artifactName.zip文件。 你要解開遠程主機上在同一目錄下這個文件: 項目名稱/ artifactName/ 然後你就可以從目錄PROJECTNAME運行「SH開始」。 – Azee 2012-04-25 12:11:41
沒有。問題是我在jdk7本地創建了應用程序,而在遠程服務器上有java 1.6 ... – Azee 2012-04-25 13:56:57
你是否設法讓它工作?你是這個問題的唯一貢獻者,一個完整的答案將是非常有價值的。谷歌搜索幾天導致我相信我必須在我的EC2服務器上安裝Play以運行dist,但在此之前,我想看看你是如何運作的。 – Simon 2013-06-10 00:12:00