먼저 하나의 상자에 여러 개의 웹 앱을 설정하는 것과 관련된 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를 선호 따라서 느린 인터넷 연결을 사용하는 사람들은 백엔드를 막히지 않습니다.
사용자의 설정을 테스트
,
당신이 대답 http://stackoverflow.com/a/16549172/93988을 수행 할 수 있습니다 설정에서 특정 도메인을 테스트하기 위해 설정을 다시로드
nginx -s reload
를 사용curl -v -H "Host: app1.example.com" http://localhost/
. 루비와 아파치로 작업하기에 충분합니다. –그래, 그게 내가 연결된 질문이야. 몇 가지 다른 웹 서버를 설치하고 하나의 인스턴스에서 실행하면 참조 된 응답이 계속 적용됩니까? –
예. 모두 다른 포트를 사용하는 한 충돌은 없습니다. –