2014-04-01 3 views
1

그것은 아마이 질문에 관련이 : How to run more than one app on one instance of EC2하나의 EC2 인스턴스에서 여러 앱을 실행하는 방법은 무엇입니까?

그러나 그 질문은 여러 Node.js를 애플 리케이션에 대해 이야기 할 것 같았다.

저는 여러 가지 다른 것들을 배우려고합니다. 그래서 저는 Ruby on Rails, LAMP, node.js를 배우기 위해 다른 웹 사이트를 만들고 있습니다. 내 개인 웹 사이트 및 블로그와 함께.

동일한 EC2 인스턴스에서 모두 실행할 수있는 방법이 있습니까?

+0

당신이 대답 http://stackoverflow.com/a/16549172/93988을 수행 할 수 있습니다 설정에서 특정 도메인을 테스트하기 위해 설정을 다시로드 nginx -s reload를 사용 curl -v -H "Host: app1.example.com" http://localhost/. 루비와 아파치로 작업하기에 충분합니다. –

+0

그래, 그게 내가 연결된 질문이야. 몇 가지 다른 웹 서버를 설치하고 하나의 인스턴스에서 실행하면 참조 된 응답이 계속 적용됩니까? –

+1

예. 모두 다른 포트를 사용하는 한 충돌은 없습니다. –

답변

3

먼저 하나의 상자에 여러 개의 웹 앱을 설정하는 것과 관련된 EC2 관련 사항은 없습니다. nginx (또는 Apache)를 "역방향 프록시"모드로 사용하려고합니다. 이 방법으로 웹 서버는 포트 80 (및 443)에서 수신 대기하고 응용 프로그램은 다양한 다른 포트에서 실행됩니다. 들어오는 각 요청은 "호스트"헤더를 읽고 요청을 백엔드에 매핑합니다. 그래서 다른 DNS 이름/도메인은 다른 내용을 보여줍니다.)

1)이 예에서는 포트 (3000 할당 :에, 당신이 원하는 것마다 "백엔드"앱 http://www.cyberciti.biz/tips/using-nginx-as-reverse-proxy.html

: 여기

에서는 역방향 프록시 모드 설정의 nginx를하는 것입니다

2) 앱이 곳은

3) 상류 위치에 서버 이름에서 매핑 (가상) server 연을 쓰기 알려주는 upstream 연을 쓰기

예를 들어 617,451,515,

: 1)의 nginx 훨씬 적은 메모리와 정적 파일을 제공 할 수 있으며, 2)의 nginx 버퍼 데이터/클라이언트에서 :

upstream app1 { 
     server 127.0.0.1:3000; #App1's port 
} 

server { 
    listen  *:80; 
    server_name app1.example.com; 

    # You can put access_log/error_log sections here to break them out of the common log. 

    ## send request to backend 
    location/{ 
    proxy_pass    http://app1; 
    proxy_set_header  Host   $host; 
    proxy_set_header  X-Real-IP  $remote_addr; 
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

나는 두 가지 이유 아파치 앞의 Nginx를 선호 따라서 느린 인터넷 연결을 사용하는 사람들은 백엔드를 막히지 않습니다.

사용자의 설정을 테스트

,

관련 문제