Hyunseok
현재 사이트는 2024년 11월 이후로 업데이트 되지 않습니다. 새 글은 블로그로 확인해주세요. 블로그로 이동
프로그래밍/팀프로젝트 [팀프로젝트 외전] 라이트세일, 스왑메모리, 내장톰캣
2022. 9. 28. 00:40

현재 사이트는 2024년 11월 이후로 업데이트 되지 않습니다. 새 글은 블로그로 확인해주세요. 블로그로 이동

팀 프로젝트의 마무리가 보이고, 이제 슬슬 배포도 시야에 넣어야 하는 상황이 들어왔다

 

mysql은 프로젝트 시작때부터 이미 서버에 올려놔서 상관이 없지만.. 

 

나머지 java파일과 vue파일을 어떻게 올릴지 살짝 막막해지기 시작했다 

 

그래도 자바는 수업시간에 컴파일해서 외부 톰캣에 올리는 것까지 해보았기 때문에 

 

자바부터 올려보자 ! 가되었다

 

0. 젠킨스

처음에는 방대한 꿈을 꾸었다

"젠킨스 가자! 행복한 자동 배포를 위해!" 

하면서 서버에 openjdk17를 올리고 젠킨스를 설치하고.. 설치.. 아니.. 하고 ..

하는데 서버가 뻗었다..

순간 뇌리에 스친 건 "아오 이놈의 메모리 또 다 차서 죽었나 보네"

아니나 다를까 내 라이트 세일은 버스트 영역에 떡하니 자리 잡고 죽어가고 있었다 

 

다른 쪽에 쓰고 있는 .. 정확히말하면 학원 채팅방용으로 쓰고있는 오라클 클라우드는

같은 1기가인데도 불과하고 그 무거운 로켓챗은 잘만 버텨주는데 

 

얘는 왜 이리 잘 뻗는 걸까 하고 고민을 좀 했다. 앞으로 java파일과 node도 또 올리려면 

무조건 해결해야 하는 상황이니..

 

일단 라이트 세일이 복구되자마자 콘솔로 들어가서 free부터 쳐보았다

젠킨스가 올라간 시점에 free가 70메가가 찍혀있는 상황이었고.. 

내 눈을 의심했다

 

스왑메모리가 없다 

 

?????? 이거 원래 자동으로 세팅해주는 거 아니었나?라는 생각을 했다

왜냐면 오라클에서 돌아가는 서버는 내가 주지도 않았는데 8기가가 떡하니 스왑 메모리로 들어가 있었기때문이다

(지금 생각해보면 반대로 왜 8기가나 메모리가 자동으로 박힌 건지는 모르겠지만)

 

부랴부랴 스왑메모리 세팅에 들어갔다. 이론만 알고 있었지 실제로 리눅스에서 세팅해보는 건 처음이기에

구-글에서 검색해보니 역시나 수많은 글들이 떴다

 

fallocate -l 2G /swapfile  로 스왑 파일 생성해주고

 

dd if=/dev/zero of=/swapfile count=24 bs=128MM

swapfile을 128메가 기준으로 24개 생성한다.. 3기가다

 

chmod 600 /swapfile 로 시스템만의 권한을 주고..

 

mkswap /swapfile 로 포맷 맞춰주고..

 

swapn /swapfile 등록해주고

 

다시 free를 치니 기가 막히게 잘 들어가 있다 

그리고 젠킨스에서 신나게 놀아보니 잘 돌아간다

 

가끔 렉이 살짝 오는데 그때 콘솔에 free 찍어보면 아니나 다를까 스왑 메모리를 신나게 쓰고 있다 ㅋㅋ

이렇게 라이트 세일의 램 문제를 임시방편으로.. 해결했다 

처음에는 스냅샷찍어서 그냥 10달러짜리 플랜으로 옮길까도 했지만.. 아직은 때가 아닌가 보다

 

그리고 젠킨스를 쓰려보니.. 굳이 지금 안 해도 문제없어 보였다

그래서 그냥 일단 톰캣부터 띄워보자 라는 마음으로 톰캣을 설치하러 간다..

 

 

1. 톰캣 설치

 

1-1

서버는 일단 centos7으로 돌아가고 있으니.. 가장 먼저 해볼 것은 yum -y install tomcat이었다

설치가 되긴 된다.. 근데 막상 깔고 어디깔린지 나오지가 않아서.. (졸면서 설치했다) 귀찮음에 못 이기고 바로 지워버렸다

 

1-2

링크로 가져오기 

톰캣 홈페이지 가보니 10버전의 톰캣이 있다

 

바로 링크 긁어와서 curl 톰캣 주소를 날리고..

tar -zxvf 톰캣..

 

인터넷 찾아보니 root로 톰캣 돌리면 위험하니 대충 실행하기 전에 chrown tomcat:tomcat 톰캣 경로

(상식적으로 파일이 왔다 갔다 하는데.. root 털리면 내 리눅스도 다 털린다)

 

그리고 curl로 프로젝트 컴파일한 파일을 가져와서 바로 webapps에 냅다 때려 박았다

 

마지막으로 vue에서 테스트용으로 devserver내용 싸악 지우고 톰캣 주소를 넣은 뒤 웹페이지를 돌려보는데..

 

안된다 

 

아니 ;; 왜  도대체 왜 ㅠㅠ 

firewall-cmd --list-all, 포트는 잘 열려있다

혹시 몰라서 라이트 세일 인스턴스 네트워크 탭에서 포트가 닫혔나 3번 정도 다시 확인했다 

이것도 잘 열려있다 혹시 몰라서 conf/server.xml도 확인해보았다 당연히 잘 되어있다

권한 문젠가?? 톰캣 싹 밀고 내가 준 방식이 아닌 다른 방식도 싹 넣어봤다 

안된다 

뭐지? 프론트에서 못 오는 건가? 해서 망설임 없이  postman켜서 신호를 쏴보았다

모든 신호가 404다 .. 아니 그러면 이거 그냥 톰캣이 망가진건가 ?

궁금해서 내가 올린 컴파일된 파일 폴더에 vi index.html > helloword :wq치고 확인해보았다

 

잘 나온다 ;;;; 뭐지 하면서 욕 한사발하고 바로 톰캣을 지워버렸다 

 

그리고 방법을 모색했는데.. 스프링 부트에도 내장 톰캣이 있던 게 기억이 났다

 

"아 그래 그냥 내장 톰캣 쓰자 내가 jar, war 수십 개 쓸 것도 아니고 당장은 이거 하나인데"

 

냅다 /home/프로젝트폴더/ >> curl로 파일 긁어와서 nohup java -jar 프로젝트 파일 & 로 긁어서 백그라운드에 넣고

vi nohup.out ..하니

뜬다 .. 잘뜬다 너무나 잘뜬다 

 

그리고 바로 postman을 주소로 때려보니 너무 잘 뜬다 ..

 

너무 허무했다 그렇게 날밤을 깠다.. 쉬는 날이라 다행이지.. 흑흑

 

여하튼 이게 주말에 있던 일이다 vue 배포는 다른 외전 글에서 써보도록 하겠다

 

 

 

 


프로그래밍/팀프로젝트의 다른 글