一个项目包含多个应用程序?
是否可以从一个Cloud9 IDE项目中运行多个rails应用程序?例如,我有以下结构...一个项目包含多个应用程序?
MyApp的(C9项目)
- MyApp的-API(轨道/葡萄)
- MyApp的的Web(滑轨)
当我通过终端在C9中运行rails server -p $PORT -b $IP
,在各自的应用程序目录(即MyApp-API,MyApp-Web)中,它们似乎都在运行。但是,当我执行cURL请求或尝试直接浏览时,我无法按预期方式到达路由。
我认为这是因为我使用相同的端口/ IP配置运行rails服务器。
仅当您将API part
放置在app/controllers/api/posts_controller.rb
例如。 并为它设置route
,例如域myapp.com/api/posts.json
或子域(api.myapp.com/posts.json)
这将使这两个应用程序一个应用程序。我想让他们分开。 – Jason 2014-10-01 17:22:43
然后你应该为每个应用程序运行2个独立的web服务器(独角兽,美洲狮等)进程,并配置nginx(apache)来处理对应用流的url请求。 – itsnikolay 2014-10-01 17:24:34
我的问题更多地涉及如何使用Cloud9 IDE实现此目的。如果C9提供了备用调试端口,我相信我的配置可以在不需要另一层(即独角兽,美洲狮等)的情况下实现。 – Jason 2014-10-01 17:28:52
看起来像这样做是不能做到的。 C9显然只暴露一个端口。我将最有可能需要打破应用分成不同的项目...
How to use grunt serve in Cloud9 IDE?
从技术上讲,我可以如不同的本地端口上运行的应用程序的API:
rails server -p 15001 -b $IP
然后我可以通过cURL请求连接到它,或让Web应用程序通过该端点连接到它。
这有点痛苦,但至少有一个解决方法。
谢谢,我最终决定最终将应用分成两个独立的项目。 – Jason 2014-10-02 13:16:19
请您详细解释一下吗?我面临同样的问题比杰森,我不知道如何安装/配置ngix代理api请求在不同的端口(例如15001)? – Doum 2015-01-08 15:35:18