다른 프로젝트에서 작업하기 위해 dspace의 다른 인스턴스를 만들고 싶습니다. 그러나 나는 그것이 어떻게이 달리기와 충돌 할 것인지 모른다. 기술적으로 가능하지만하나 이상의 인스턴스 DSpace를 동일한 Tomcat 서버에 설치하는 방법은 무엇입니까?
답변
, 나는 다음과 같은 3 키 이유로이 무리를 줄 것이다 : 인 DSpace의
꽤 몇 가지 구성 측면이 여전히 적용하려면 다시 시작 톰캣에 계산합니다. 동일한 Tomcat에서 두 개의 인스턴스가 실행되고 있다면 두 인스턴스를 업데이트 할 때 두 인스턴스를 모두 가져와야 함을 의미합니다.
성능 관련 문제는 하나의 Tomcat에서 하나의 인스턴스 만 실행하는 경우에도 DSpace에서 디버그하기가 쉽지 않습니다. 두 개의 인스턴스를 실행하면이 작업을 더 어렵게 만듭니다.
이러한 종류의 설정은 비표준입니다. 모든 비표준 설정과 마찬가지로 커뮤니티 참여를 얻는 것이 훨씬 어렵습니다. 동일한 보트에 다른 사람이 거의 없을 것입니다.
이렇게 ... 하나의 VM에서 두 개의 VM 또는 두 개의 Tomcat 프로세스를 실행하십시오.
이러한 경고가 나타난 후에도 여전히 수행하고 싶다면 기본은 원하는 포트를 사용하여 두 번 바람둥이에서 원하는 모든 웹 응용 프로그램을 실행하는 것입니다. 최소 요구 사항은 2x XMLUI 또는 JSPUI 및 2x SOLR입니다. 하나의 solr webapp을 실행하고이 하나의 SOLR 웹 응용 프로그램에서 2 개의 검색, 통계, 권한 및 OAI 색인을 유지하는 것이 가능할 수 있지만 부작용이 무엇인지 모릅니다.
1) 분명히 각 인스턴스는 다른 디렉토리 세트에 설치해야합니다.
2a) 각 인스턴스에 대해 별도의 컨텍스트를 만듭니다. 그러면 다른 경로가 생깁니다 : http://legion.example.com/one/, http://legion.example.com/two/ .... 나는 항상 내 개발 워크 스테이션에서이 작업을 수행합니다.
2b) 하나의 Tomcat 구성 (예 : http://one.example.com/, http://two.example.com/)의 여러 호스트 개체에 도메인과 IP 주소를 바인딩 할 수도 있습니다. 하나의 Tomcat 인스턴스에서 실행중인 4 개의 소량 생산 DSpace 인스턴스가 있습니다. 중간 규모의 호스트.
각 DSpace 인스턴스는 자체 데이터베이스가 필요하지만 PostgreSQL은 수십개를 호스팅 할 수 있습니다. 각각에 대해 별도의 데이터베이스 사용자 계정을 만드는 것을 고려해야합니다.
또한 각 인스턴스가 자체 호스트에있는 것처럼 동일한 DSpace마다 별도의 핸들 확인자가 필요합니다. DSpace를 구성 할 때 핸들 해석기는 자체 인스턴스 대신 DSpace 데이터베이스를 사용하므로 단일 인스턴스에만 적용됩니다.
Solr은 여러 DSspaces에 대해 여러 세트의 코어를 제공 할 수 있어야하지만, 각 DSpace가 고유 한 세트를 사용하도록 보장하려면 상당한 양의 구성을 수행해야합니다. 단일 DSpace로 설치되는 Captive Solr 인스턴스에 대해 알아야 할 것보다 Solr에 대해 더 많이 배우게됩니다. 외부 파일에 사용자의 컨텍스트를 선언하면
그러나, 당신은 또한 많은 단일 인 DSpace에 대해 알 필요가보다 톰캣에 대한 자세한 ....
을 배울 수 있습니다 ([톰캣]/설정 /Catalina/localhost/one.xml 등) 자동 배포가 올바르게 설정 되었다면 전체 Tomcat을 다시 시작하지 않고 컨텍스트 중 하나를 터치하여 다시 시작할 수 있습니다. 그렇지 않으면 Tomcat Manager 웹 응용 프로그램을 사용하여이를 수행 할 수 있습니다. Manager가 매우 강력하고 네트워크에 노출되어 있기 때문에 Manager를 실행하고 싶은지 여부도 고려하십시오. 그런 응용 프로그램을 라우팅 할 수없는 또 다른 주소에서 실행하여 외부에서 연결할 수 없습니다.
DSpace가 작지 않으므로 여러 인스턴스를 실행할 메모리가 충분하고 그에 따라 Tomcat의 메모리 제한이 적절하게 조정되어야합니다. Psi Probe와 같은 자원 모니터를 설치하고 정기적으로 훑어 보는 것도 좋습니다. 성능에 대한 위의 의견은 중요합니다.
이 모든 작업을하는 것을 배우는 것은 재미 있었고 꽤 오랜 시간이 걸렸습니다. 반면에, 개발을 위해서는 https://github.com/DSpace/vagrant-dspace과 같은 패키지 머신을 선호 할 수 있습니다.
나는 개발 환경과 사용자의 "빠른 승인"에 대한 위험성을 이해하므로 아무런 문제가 없습니다. 환경 생산에있어 두 가지 사례가 있다면 지금 맞습니다. –