문제

우분투를 설치하고 바로 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에서 EC2로 우분투 서버를 구축해서 사용하던 중 벌써 1년이 됐다.

다음달 부터 비용을 지불하라는 메일에 겁이나서 다른 방법을 찾아보았다.

 

 

네이버

네이버도 클라우드 서비스를 하고 있고 micro서버에 한해서는 1년 무료사용 기한을 주지만

서버에 공인 IP를 적용하는데는 비용을 지불하라고해서 .. (정확히는 잘모르겠다ㅎㅎㅎ) 

여기도 포기했다.

 

 

호스팅업체 (가비아, 카페24)

차라리 호스팅 업체에 맡기는 건 어떨까? 어차피 테스트용이나 큰 트래픽이 나오지 않는 것 같아서

비용 얼마나 나오겠나.. 싶어서 시도했지만

괜히 그 비용이 아까웠다

내가 갖는 것도 아니고 결국 빌리는 거고 더 이상 비용 지불 의사가 없으면 내가 구축한 환경이 사라지는 것아닌가 싶었다.

 

 

개인 서버를 사자!

미니서버를 자서 구축하자니 미니라는 이름과 맞지 않게 비용이 대충 30만원 내외인 것 같았다.

단지.. 개발하고 테스트할 놀이터가 필요할 뿐인데...라는 생각이 들었다.

 

 

내 노트북을 개인 서버로 만들자!

그러기엔 하나부터 열까지 다 신경써야하고 단지 tomcat과 db를 올리기위해서 이런 노력이 필요할까? 

 

 

NAS를 사자!

결국 NAS를 샀다.

어차피 서버를 구축할 거라면 네트워크 스토리지 처럼 사용하면 일석 이조 아닌가!

알아보니 시놀로지가 매니저 프로그램도 잘 되어 있고 NAS에 Docker를 올릴 수있다는 사실을 알게되었다.

 

무려,,, 도커!!

NAS위에 도커 -> 도커위에 리눅스 -> 리눅스 위에 모든것이 가능 !

 

그래서 샀다 도커위에 MySQL도 올리고 , Apache 도 올리고 Tomcat도 올리고 더이상 고민할 필요가 없었다

 

대실패, DS118과 Docker

DS118을 구매했고 바로 신나서 세팅했다.

그러나 DS118은 도커를 올릴 수 없다. ㅜㅜㅜㅜㅜㅜㅜ

DS118은 32비트이기 때문에 Docker를 사용할 수 없다고 쓰여있다..

 

중고로 팔고 바꿀까도 했지만.. 난 너무 멀리온 듯 했다.

그리고 간김에 끝까지가기로 했다 ㅋㅋㅋㅋㅋㅋ

 

 

서버환경 구축 대작전

다행히 DS118은 apache는 구동되는 것으로 보인다.

그래서 DS118은 이제 부터 웹서버를 하기로 했다

그리고 집에 남아있는 노트북을 WAS/DB서버로 구축하기로했다.

노트북의 윈도우를 지우고 우분투를 설치했다. 

 

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

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