문제

우분투를 설치하고 바로 Tomcat을 실행하면 이런 문구가 뜬다.

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

java를 설치하지 않았고 JAVA_HOME을 지정하지 않아기 때문!

 

 

Java 설치하기

요즘 Oracle JAVA 유료화가 이슈이기 때문에 나는 OpenJdk를 설치하기로 했다.

 

#openjdk-8 설치
kyome-was@kyome-was:~/tomcat/bin$ sudo apt-get install openjdk-8-jdk

#설치로그~~
# ...

#설치 버전확인 
kyome-was@kyome-was:~/tomcat/bin$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

#JAVA_HOME 확인
kyome-was@kyome-was:~/tomcat/bin$ echo $JAVA_HOME

kyome-was@kyome-was:~/tomcat/bin$ 

그러나 설치했다고 JAVA_HOME 이 지정되지는 않는다!

 

JAVA_HOME 지정하기

#jdk home 디렉토리 확인
kyome-was@kyome-was:~$ cd /usr/lib/jvm/java-8-openjdk-amd64
kyome-was@kyome-was:/usr/lib/jvm/java-8-openjdk-amd64$ 

kyome-was@kyome-was:~$ sudo nano /etc/profile

....
# 밑에 다음의 내용 추가
export JAVA_HOME=usr/lib/jvm/java-8-openjdk-amd64
#저장 후 종료

#수정내용 적용
source /etc/profile

#적용 경로 확인
kyome-was@kyome-was:~$ echo $JAVA_HOME
usr/lib/jvm/java-8-openjdk-amd64

 

 

 

 

우분투 초기 세팅시 root로 접속하기위해 su를 입력하면 다음과 같은 에러가 난다.

#root 접속시 에러
kyome-was@kyome-was:$ su
Password: 
su: Authentication failure

root 비밀번호를 애초부터 설정하지 않았기때문!

 

설정방법

#비밀번호 설정
kyome-was@kyome-was:$ sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

#root 로그인
kyome-was@kyome-was:/usr/share/tomcat8/bin$ su 
Password: 

su 와 su -의 차이가 궁금해서 찾다가 

su 명령어에 대해 정리 해보았다.

 

 

~$ su --help
# 로그인할 계정을 입력
# 아무 옵션이 없으면 root 계정으로 로그인
# 기본은 '로그인 쉘'이 아니기 때문에 환경변수를 초기화하지 않음 ( su - 와 su가 다름)

Usage: su [options] [LOGIN]
Options:
  -c, --command COMMAND         pass COMMAND to the invoked shell
  # 호출 된 쉘에 COMMAND를 전달하십시오. 
  # sudo 와 같이 명령만 전달
  
  -h, --help                    display this help message and exit
  # 도움말 
  
  -, -l, --login                make the shell a login shell
  # 쉘을 로그인 쉘로 만든다.
  # `TERM', `HOME', `SHELL' `USER', `LOGNAME' 외의 환경 변수제거
  # 로그인 후 현재 디렉토리도 기본 위치로 이동되어있음을 확인할 수 있다.
  
  -m, -p,
  --preserve-environment        do not reset environment variables, and
                                keep the same shell
  # 환경 변수를 재설정하지 않고 동일한 쉘을 유지하십시오.
  # 환경변수 -> $JAVA_HOME 같은 값을 말함
  
  -s, --shell SHELL             use SHELL instead of the default in passwd
  # passwd의 기본값 대신 SHELL 사용
  
  # feat. 구글번역

 

 

 

tomcat8.5 설치 및 실행

 

#wget으로 다운로드
kyome-was@kyome-was:~$ wget http://mirror.apache-kr.org/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

# 압축 해제
kyome-was@kyome-was:~$ tar xvf apache-tomcat-8.5.43.tar.gz

#tomcat 실행 위치로 이동
kyome-was@kyome-was:~$ cd tomcat/bin/

#tomcat 실행
kyome-was@kyome-was:~$ ./startup.sh

 

사용자 변경을 하기위해서는 su - 명령에 뒤에 사용자명을 적으면 된다. (간단)

 

#사용자 변경
root@kyome-was:/usr/share/tomcat8/bin# su - kyome-was

AWS e2 Ubuntu에 Spring Boot로 웹 서비스를 구현하고 있다.


시험삼에 서버에 Jar 파일을 올리고 실행을 하니 브라우저로 원하는 결과도 잘 나온다!

근데 문제가 생겼다...


터미널이든 PuTTY든 SSL 연결이 끊어지면 웹서비스도 같이 내려간다.. ㅠㅠ 

그래서 찾아보니 nohup 이라는 명령어로 백그라운드에서 프로세스가 계속 돌아가게 해줄 수 있었다.




 $ nohup java -jar WebService.jar &




이제 언제든 aws에 요청을 하면 응답을 받게 됐다!



 $ ps -ef | grep jar




*ps : 프로세스 상태를 의미하는 명령

 - e : 모든 (every) 프로세스 출력

 - f :  완전한 (full)  출력 포멧



+ Recent posts

"여기"를 클릭하면 광고 제거.