2014-02-13 5 views
4

안녕하세요. 서버처럼 작동하는 간단한 항아리가 있습니다. OpenShift 계정에 업로드하고 실행할 수 있습니까? 어떻게 그런가? 많은 감사드립니다.OpenShift 업로드 jar 파일을 실행하여 실행하십시오.

+1

도움이 될 수 있음 - http://dmly.github.io/blog/2013/05/01/diy-java-app-server-on-openshift-so-far-so-good/ –

답변

1

몇 가지 세부 정보를 제공해야 할 수도 있습니다. .jar 파일을 업로드하여 실행하려면 git 저장소에 추가 한 다음 .jar 파일 (java -jar /path/to/file.jar &)을 실행하는 작업 훅을 만들어야합니다. 그런 다음 git push를 수행하십시오. .war 웹 응용 프로그램에 사용할 jar 파일을 포함 시키려면 openshift 웹 사이트의 KB 아티클 섹션에서 방법에 대한 예제를 참조하십시오.

+0

답장을 보내 주셔서 감사합니다. . 내가하려는 것은 .jar를 업로드하고 실행하는 것입니다. 나는 이미 항아리를 git를 사용하여 openshift 디렉토리로 밀어 넣을 수 있었다. 그리고 나는 또한 ssh 원격 클라이언트 (예를 들어 puTTY)를 사용하여 jar를 실행시킬 수 있었지만 클라이언트가 서버에 연결할 수없는 이유는 모르겠다. 서버 소켓으로 소켓을 만들려고 할 때 EOFException이 발생한다. (오픈 시프트에서 실행되는 것) – TiagoM

1

특정 IP의 포트 8080 만 외부 세계에 노출됩니다. 문서에서 ${OPENSHIFT_DIY_IP}${OPENSHIFT_DIY_PORT}과 같은 환경 변수를 확인하십시오. (공개는 포트 80을 통해 연결하지만 포트 8080에서 실행중인 앱으로 전달하는 오픈 시프트 인프라에 연결합니다.)

부두 서버를 병으로 실행하는 예는 https://stackoverflow.com/a/33114072/329496이며 WAR 파일을 만듭니다 그런 다음 환경 변수를 사용하여 호스트와 포트를 지정하는 JAR로 부두를 실행하는 시작 스크립트가 있습니다.

솔직히 말해서 JAR을 빌드하고 서버로 밀어 넣는다면 Amazon Web Services를 사용하여 추가 기능이없는 호스트를 사용할 수 있습니다. OpenShift는 PaaS (서비스 형 플랫폼)이며 Amazon Web Services는 IaaS (서비스 형 인프라)입니다. 필요한 모든 것이 IaaS에서 지원되는 Linux와 java입니다. 또한 포트 80에서 실행할 수있는 것과 같이 원시 리눅스 가상 머신에 대한 제약이 적습니다. 예를 들어 OpenShift에서 실행되도록 JAR을 작성했지만 웹 소켓을 완전히 지원하지는 않습니다 (높은 많은 기업 웹 프록시에서 허용되지 않는 포트). 그래서 AWS로 넘어 갔고 거기에서 물건을 실행하는 것은 매우 쉬웠습니다.

+0

전체 VM을 사용하더라도 너무 많을 수 있습니다. 호스팅 된 도커 컨테이너 https://en.wikipedia.org/wiki/Docker_(software)에서 JAR을 실행할 수 있습니다. Docker로 항아리를 실행하는 것이 얼마나 쉬운 지 보려면 JAR 파일을 부팅하는 데 필요한'src/main/docker/Dockerfile'이있는이 페이지를 간단히 살펴보십시오. 그런 다음 Google의 "도커 호스팅"을 사용하면 앱을 호스팅 할 수있는 방대한 양의 옵션이 표시됩니다. – simbo1905

관련 문제