2014-10-01 9 views
0

내부에서 여러 개의 레일 앱을 실행할 수 있습니까 Cloud9 IDE 프로젝트가 있습니까? 예를 들어, 나는 다음과 같은 구조 ...하나의 프로젝트에 여러 개의 앱이 있습니까?

의 MyApp (C9 프로젝트)

  • MyApp를-API (레일/포도)
  • MyApp를 - 웹 (레일)

이 나는 각각의 앱 디렉토리 (예 : MyApp-API, MyApp-Web)에서 C9의 터미널을 통해 rails server -p $PORT -b $IP을 실행합니다. 둘 다 실행중인 것처럼 보입니다. 그러나 cURL 요청을하거나 직접 찾아보기를 시도 할 때 예상대로 경로에 연결할 수 없습니다.

동일한 포트/ip 구성으로 레일스 서버를 실행 중이므로 가정합니다.

답변

0

Cloud9는 (아직) 외부로 여러 포트를 노출하지 않습니다. 한 가지 방법은 HAProxy 또는 Nginx과 같은 작은 역방향 프록시를 앱 앞에 배치하는 것입니다. 임의의 포트에서 다른 앱을 실행하고 프록시가 $PORT에서 수신 대기하도록 할 수 있습니다. 예를 들어 앱에 전달할 프록시를 구성합니다. 경로를 기반으로합니다.

+0

감사합니다. 궁극적으로 앱을 두 개의 개별 프로젝트로 나눠서 결정했습니다. – Jason

+0

자세히 설명해 주시겠습니까? 나는 Jason과 같은 이슈에 직면하고 있는데, 다른 포트 (예 : 15001)의 API 요청을 프록시로 설치/구성하는 방법을 잘 모르겠다. – Doum

0

예를 들어 API partapp/controllers/api/posts_controller.rb에 입력하는 경우에만 가능합니다. 도메인 예 : 도메인 myapp.com/api/posts.json 또는 하위 도메인 (api.myapp.com/posts.json) route을 설정하십시오.

+0

두 앱을 하나의 앱으로 만들 것입니다. 나는 그들을 분리 시키려고한다. – Jason

+0

그럼 당신은 각 애플 리케이션에 대한 웹 서버 (유니콘, 푸마 등) 2 별도의 프로세스를 실행하고 응용 프로그램 스트림에 대한 URL 요청을 처리하는 nginx (아파치)를 구성합니다. – itsnikolay

+0

내 질문에 더 많은 Cloud9 IDE를 사용하여 이것을 달성하는 방법에 관한. C9에서 대체 디버깅 포트를 제공하는 경우 다른 레이어 (예 : 유니콘, 푸마 등) 없이도 구성을 완료 할 수 있다고 생각합니다. – Jason

0

이렇게 할 수없는 것 같습니다. C9은 분명히 하나의 포트만 노출합니다. 내가 가장 가능성이

How to use grunt serve in Cloud9 IDE?

기술적으로, 나는 같은 다른 로컬 포트에서 API 응용 프로그램을 실행할 수 있습니다 ... 별도의 프로젝트로 애플 리케이션을 중단해야합니다

rails server -p 15001 -b $IP 

그럼 cURL 요청으로 연결하거나 웹 응용 프로그램에 해당 엔드 포인트로 연결할 수 있습니다.

적어도 약간의 문제가 있지만 해결 방법이 있습니다.

관련 문제