팔로우 중이에요"init.d 서비스로 설치됨(System V)"장스프링 부트 참조 가이드.
init.d
Centos 6.6에서 Java 애플리케이션에 대한 심볼릭 링크를 생성 할 수 없습니다 .
내가 달리기를 마친 후에
sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
내가 시도할 때
chmod 500 /etc/init.d/myapp
알겠어요
chmod: cannot operate on dangling symlink `myapp'
다음과 같이 심볼릭 링크가 아닌 일반 파일의 권한을 변경하는 경우:
chmod 500 myapp.jar
물론 심볼릭 링크는 여전히 깨져서 에서 볼 수 없습니다 service --status-all
.
다음을 사용하여 애플리케이션을 시작할 수 없기 때문에 심볼릭 링크가 올바르게 생성되지 않았음을 확인할 수도 있습니다.
java -jar /etc/init.d/myapp
참고: 전체 항아리를 에 복사하면 /etc/init.d/
모든 것이 잘 작동합니다.
jar 파일에 대한 심볼릭 링크를 생성하는 것이 "좋은" 것으로 간주되는지 아니면 /etc/init.d/에 복사해야 하는지조차 모르겠습니다.
답변1
애플리케이션을 시작하기 위해 jar 파일을 링크할 필요는 없습니다. 실행하려는 바이너리는 jar 파일을 인수로 사용하는 java입니다. 이렇게 하려면 init 파일(또는 systemd를 사용하는 시스템의 경우 sysyemd 유닛 파일)을 생성해야 합니다. 스크립트는 애플리케이션을 시작하고 중지하기 위해 최소한 하나의 시작 및 하나의 중지 매개변수를 처리해야 합니다. 그런 다음 Java 홈 디렉터리와 애플리케이션을 설정할 다른 프로젝트를 시작한 다음 java 명령을 실행합니다. 사용할 수 있는 초기화 스크립트 템플릿이 많이 있습니다.