기억하기보단 기록하자
centOS 7 Jeus7 설치 및 배포 본문
Linux centOS 7에 Jeus7 서버 설치 방법 및 배포에 대해서 개인적으로 기록하기 위해 포스팅한다.
openjdk 설치
Jeus7 서버를 설치하기 전에 반드시 준비해야 할 것이 있다.
바로 jdk를 설치해줘야 한다.
만약 jdk 설치 및 환경변수 등록을 완료했다면 바로 밑 링크를 클릭하여 Jeus7 부분으로 이동하시기 바랍니다.
openjdk 설치 List 확인
yum list java*jdk-devel
명령어를 사용하여 현재 설치 가능한 openjdk 버전들을 확인한다.
java-1.7.0-openjdk-devel.x86_64로 설치해서 Installed Packages 목록에 java-1.7.0-openjdk-devel.x86_64가 나와있습니다. openjdk 설치를 안 했다면 Available Packages에 나올 것이다.
openjdk 설치
yum install java-1.7.0-openjdk-devel.x86_64
명령어로 설치를 한다.
설치 시 중간에 y/n를 물어본다. y를 입력하고 Enter키를 눌러서 진행한다.
y를 입력하지 않고 진행하려면 yum install -y java-1.7.0-openjdk-devel.x86_64 명령어를 입력해서 진행하면 된다.
openjdk 1.7 설치 완료 확인
javac -version
명령어를 입력하여 openjdk가 제대로 설치됐는지 확인해본다.
javac 버전이 뜬다면 정상적으로 설치가 완료됐다.
openjdk 환경변수 설정
openjdk 1.7을 환경변수에 등록하기 전에 JAVA_HOME이 환경변수에 등록되어 있는지 확인해본다.
echo $JAVA_HOME
아무것도 안 나온다면 JAVA_HOME 설정이 안 되어 있는 것이다.
javac 경로 확인
which javac
명령어를 통해 javac의 경로를 확인해준다.
javac의 경로가 /bin/javac로 나왔다.
ll /bin/javac
명령어로 /bin/javac를 확인해보면
/bin/javac는 심볼릭 링크인 것을 확인해볼 수 있다.
readlink -f /bin/javac
명령어를 사용하여 /bin/javac 경로에 해당하는 원본 파일의 경로를 확인해볼 수 있다.
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/bin/javac경로의 javac가 실제 bash에서 동작하는 원본 파일이다.
이제 실제 경로를 환경변수에 등록해준다.
vi .bash_profile
명령어를 사용하여 .bash_profile 파일을 편집한다.
사진과 같이 JAVA_HOME을 등록해준다.
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
편집을 완료하고 저장하고 나온다.
.bash_profile에 JAVA_HOME 환경변수를 등록한 것을 시스템에 적용시키기 위해
source .bash_profile
명령어를 사용하여 적용시켜준다.
그리고 JAVA_HOME 환경변수가 제대로 적용되었는지 확인해본다.
정상적으로 출력이 됐다면 환경변수를 설정을 완료하였다.
이제 Jeus7을 설치하도록 한다.
Jeus7 설치
Jeus 7 Fix#5를 다운로드하여 설치를 진행했다.
다운로드를 하기 위해선 회원가입 및 로그인이 필요합니다.
라이선스의 경우 설치 시 demo 라이선스로 등록이 됩니다.
Jeus 다운로드 경로
technet.tmaxsoft.com/ko/front/download/findDownloadList.do
리눅스 Jeus7을 jeus70_unix_generic.bin 파일이 다운로드됩니다.
ftp를 통해 jeus 설치 파일을 업로드시켜준다.
설치 파일 실행 권한 부여
jeus70_unix_generic.bin 파일이 위치한 디렉터리로 이동한다.
jeus70_unix_generic.bin 파일의 실행 권한을 다음과 같이 부여한다.
jeus7 설치
콘솔에서 jeus70_unix_generic.bin 파일을 실행하기 위해
./jeus70_unix_generic.bin 입력 후 Enter키를 누른다.
Jeus 라이선스 준수 화면이 나타난다.
라이선스 동의 여부를 결정한다. 'y'를 입력한 후 Enter키를 누른다.
플랫폼 목록 중 설치할 플랫폼을 결정하여 입력한다.
Domain Admin Server와 Managed Server 중 설치할 서버를 선택한다.
기본적으로는 Domain Admin Server가 설정된다.
- Domain Admin Server : Domain Admin Server와 Managed Server를 설치한다.(Domain Admin Server는 Managed Server를 관리하기 위한 서버이다) DAS라고 부른다.
- Managed Server : Managed Server를 설치한다. MS라고 부른다.
기본적으로 제공되는 설치 디렉터리를 사용하려면 Enter키를 누르고, 디렉터리 변경을 원하면 설치 경로를 입력한다.
JDK의 위치를 입력한다. 자동으로 인식한 JDK의 위치를 사용하려면 Enter키를 누르고, 디렉터리 변경을 원하면 설치 경로를 입력한다.
Jeus 관리자의 패스워드를 입력한다. 이 패스워드는 "administrator" ID로 할당된다.
Domain Admin Server에 사용할 도메인 이름을 입력한다. 기본값으로 사용한다.
다음 화면은 설치에 관련한 요약 정보를 보여준다. Enter키를 누르면 설치가 진행된다.
설치가 완료된 화면이다.
설치 경로, JDK 경로, 비밀번호 외에는 Default값으로 지정해주면 된다.(설치 경로를 바꾸고 싶지 않으면 Default값으로 해도 된다)
설치 완료 후 환경설정도 .bash_profile에 자동으로 등록이 된다.
이상으로 Jeus7 설치가 완료되었다.
이제 Jeus7 기동 해서 정상적으로 동작하는지 확인해본다.
Jeus7 기동
먼저 DAS를 기동시 킨다.
Domain Admin Server 기동
콘솔에 다음과 같이 명령어를 입력해 기동시 킨다.
startDomainAdminServer -u administrator -p 설치 때 지정 패스워드
"Successfully started the server. The server state is now RUNNING." 메시지가 출력되면 정상적으로 기동이 되었다.
정상적으로 기동이 안되면 Jeus설치경로/domains/jeus_domain/servers/adminServer/logs 경로로 이동해서 로그파일을 살펴보고 에러가 있으면 에러를 해결하면 된다.
Managed Server 기동
콘솔에 다음과 같이 명령어를 입력해 기동시 킨다.
startManagedServer -domain 도메인명 -server 서버명 -u administrator -p 설치 때 지정 패스워드
DAS와 마찬가지로 "Successfully started the server. The server state is now RUNNING." 메시지가 출력되면 정상적으로 기동이 되었다.
정상적으로 기동이 안되면 Jeus설치경로/domains/jeus_domain/servers/server1/logs 경로로 이동해서 로그파일을 살펴보고 에러가 있으면 에러를 해결하면 된다.
Jeus Prompt 접속
콘솔에 다음과 같이 명령어를 입력해 프롬프트에 접속한다.
jeusadmin -u administrator -p 설치 때 지정 패스워드
Jeus를 명령어를 통해 관리할 수 있다.
Webadmin 접속
브라우저에 다음과 같이 URL을 통해 Webadmin에 접속한다.
http://localhost:9736/webadmin
ID에 administrator를 입력하고 Password에 설치 때 지정한 패스워드를 입력하고 로그인한다.
이상으로 Jeus7 설치가 완료되었다.
Jeus7 기동 종료
콘솔에 다음과 같이 명령어를 입력해 기동 종료시킨다.
stopServer -u administrator -p 설치 때 지정한 패스워드
혹은 Jeus Prompt 접속한 상태에서
먼저 MS 종료를 시켜주고, DAS를 종료시켜준다.
stop-domain
local-shutdown
순서대로 종료시켜주면 된다.
다음으로는 war를 배포하는 방법에 대해서 알아보겠다.
War 파일 Deploy
프로젝트를 war로 묶은 파일을 jeus 서버에 배포해본다.
실제 사용해본 결과 webadmin에 접속해서 application에서 deploy 시 대부분이 안됐었던 경험이 있다.
jeusadmin prompt에 접속해서 명령어를 사용해서 진행했으므로 명령어를 통해 deploy 하는 법을 기록해보려고 한다.
jeusadmin -u administrator -p 설치 때 지정한 패스워드를 통해 prompt에 접속한다.
다음은 어플리케이션 상태를 확인하는 명령어이다.
[DAS]jeus_domain.adminServer>application-info
다음은 어플리케이션에 install 하는 명령어이다.
[DAS]jeus_domain.adminServer>install-application -id id값 war파일경로
(ex: install-application -id demo /home/apps/demo.war)
다음은 해당 서버에 deploy 하는 명령어이다.
[DAS]jeus_domain.adminServer>deploy id값 -servers 서버값
(ex: deploy demo -servers server1)
다음은 어플리케이션 상태를 DISTRIBUTED로 변경하는 명령어이다.
[DAS]jeus_domain.adminServer>stop-application id값
(ex: stop-application demo)
다음은 어플리케이션 상태를 RUNNING으로 변경하는 명령어이다.
[DAS]jeus_domain.adminServer>start-application id값
(ex: start-application demo)
다음은 어플리케이션 상태를 INSTALL로 변경하는 명령어이다.
[DAS]jeus_domain.adminServer>undeploy id값
(ex: undeploy demo)
다음은 어플리케이션 공간에서 해제하는 명령어이다.
[DAS]jeus_domain.adminServer>uninstall-application id값
(ex: uninstall-application demo)
명령어로 war를 배포하는 방법은 간단하다.
install - deploy 순으로 하면 된다.
deploy 명령어 시 배포가 안 되는 경우 로그 파일에 에러 문구가 있을 것이다.에러를 해결해준 후 배포하면 정상적으로 배포될 것이다.
Deploy Error Case
war를 배포할 때 생겼던 에러를 공유하고자 남긴다.
- MS 기동 RUNNING으로 정상 실행했는데 webadmin 상에선 shutdown일 경우
- 방화벽을 내리고 새로고침하면 running으로 변경된다.(systemctl stop firewalld / systemctl start firewalld)
- 접근에 대한 문제인것 같은데 아직 이유를 못찾았다. 아시는분이 있으면 알려주세요~
- url-pattern: * error
- 로그 파일에 url-pattern: * 이 있으면 web.xml에서 *만 적혀있는 부분을 찾는다. 보통 servlet, encoding 부분에서 <url-pattern>*</url-pattern> 이렇게 적혀 있는 경우가 많다. <url-pattern>/*</url-pattern>으로 변경한다.
- 이클립스 export war 시 종종 에러
- 이클립스에서 export war하게 되면 에러가 발생해도 build가 진행되는 것 같다.(개인적 의견)
- mvn clean install로 war 배포(에러 발생 시 해결하고 배포하면 된다)
- sqlSessionFactory 에러
- 로컬에선 jdk1.8 jdbc8 버전을 사용해서 jdbc에러가 발생했었다.
- 현재 서버에선 jdk1.7이므로 jdbc6 버전으로 변경했다.
- beanCreationException 에러
- spring-bean 의존성이 빠져 있었다.
- JeusServerException: Unable to bind to the transport server's service port 에러
- 포트가 이미 사용중이다.
- kill하고 다시 기동해준다.
- 이 외의 에러 발생 시 로그를 확인하여 해결해준다.
[출처] JEUS_7_Getting_Started.pdf
JEUS7 문서를 참고하여 작성하였다.