우분투에는 ZPanel (관리되는 LAMP 스택 설치) 전용 VPS가 있습니다. 이렇게하면 도메인과 PHP 웹 사이트를 내 서버에 쉽게 추가 할 수 있으며, 각각 다른 ftp 로그인 + mysql 사용자에게 샌드 박스화할 수 있습니다.NodeJS 포트 프록시 또는 Apache 리디렉션 - 내 개발 워크 플로에서 가장 효율적입니까?
오늘 저는 일부 NodeJS 응용 프로그램을 뒤적 거리기 시작했습니다. 나는이 응용 프로그램의 속도에 정말 감명 받았고 그래서 나는 그들을 내 서버에 던질 것이라고 생각했습니다. 평소와 같이 zpanel에 새 호스팅 계정을 만든 다음 SSH 터미널에서 앱을 시작했습니다. 예상대로 NodeJS 앱이 원활하게 실행되며 기존 PHP 사이트와 마찬가지로 별도의 FTP 로그인을 통해 코드를 업데이트 할 수 있습니다. 환상적입니다.
모든 여기까지 좋은,하지만 지금은 까다로운 부분 제공 : 점점 NodeJS와 아파치가 같은 서버에서 병렬로 실행 ...
문제는 내 NodeJS 응용 프로그램이 포트 8080 (사용자 정의)에서 실행이다는 아파치는 포트 80에서 실행된다. (기본값)
예. http://domain.com/:8080 < - URL에 포트가있는 것은 분명히 사용자에게 혼란을줍니다.
는은 무엇 최선의 해결책이 http://newdomain.com/뿐만 아니라 http://domain1.com/, http://domain2.com/ 또는 http://domain3.com/ 대신 포트를 사용에서 액세스 할 수있는 기존의 PHP 웹 사이트에서 & PHP 웹 사이트 액세스 할 수있는 새로운 nodejs 애플 리케이션을 가지고하는 것입니다 ? 노드 응용 프로그램을 실행하는 각 도메인에 대한 아파치에 '사이트 이용 가능한'파일 (ZPanel이 파일을 작성하지 않습니다 만들기
:
이은 내가 지금까지 함께 왔습니다 옵션입니다 기본적으로). 나는 이것이 가장 간단한 옵션이라고 추측하지만, I've read that proxying from apache to Node is a speed & performance bottleneck은 Apache가 각 요청에 대해 추가 프로세스를 생성하고 노드가 처리를 수행함에 따라 마찬가지입니다.
모든 Apache 웹 사이트를 변경하여 8080 포트에서 실행하고 Node를 80 포트에서 실행하도록 변경하십시오. 그런 다음 방문한 도메인에 따라 올바른 URL + 포트로 클라이언트를 리디렉션하는 Node (포트 80 - 기본 http 포트)를 사용하여 프록시를 실행합니다. (서버에 연결된 모든 도메인에 대해 노드 응용 프로그램을 전역으로 실행할 수 있습니까?) 이것은 시간이 많이 걸리는 옵션처럼 보이지만 성능이 크게 향상되지 않을 것이며 현재의 호스팅 아키텍처가 계속 잘 실행되는 것입니까?
내가 생각하지 못한 다른 옵션은 무엇입니까?
기억하십시오. 다른 도메인에서 모든 웹 사이트 (노드 또는 PHP)를 실행하고 있습니다. 나는 아직까지도 정교한 솔루션을 보지 못했지만 몇 가지 다른 사람들이 이와 같은 워크 플로우에 관심을 가질 것이라는 점에서 매우 흥미로운 질문이 될 것이라고 생각했다. (특히 git 통합과 함께!)
이 질문에 대한 추가 설명이 필요한지 물어보고 필요한 경우 수정할 것입니다.
미리 감사드립니다.