NCP 서버를 회상하며 ...
우린 지난시간에 NCP 서버를 하나 뚝딱했다.
한번에 깔끔하게 실패없이 성공을 했다면 어쩌면 당신은 재능이 있을 수...도?
다양한 서비스들이 아직 많이 남아있지만,
차차 알아보기로 하고.
우선 서버를 만들었다면 바로 쓸 수 있냐?

어림도 없지.
세팅을 안한 서버라는 것은,
그저 윈도우만 깔아둔 컴퓨터 본체와 다름없다.
컴퓨터를 샀으면, 게임도 깔고 기타 프로그램도 깔아보고 해야지.
우리는 시간 당으로 돈이 줄줄 새는 돈 먹는 깡통을 만드려고 한게 아니지 않는가.
그럼 얼른, 서버 세팅부터 시작해서 돈 나가는 게 아깝지 않게 만들어보자.
돈만 먹는 깡통에서 돈을 벌게 해줄 서버로 탈바꿈해보자.
1. 공인 IP 주소 확인하기
자, 우선 본인의 서버 공인 주소를 확인해보자.
네이버 클라우드 콘솔에서 본인 서버 목록을 확인해준다.

서버에서 저번에 신청했던 공인 Ip.
바로 이럴 때 써먹습니다.
바로 찾아줍시다.
2. 개발자의 필수교양. 터미널 오픈
윈도우 검색창에 'cmd', 혹은 '명령 프롬프트' 검색 후 열어줍시다.

터미널은 윈도우 사용자라면 언제나 기본적으로 깔려있으니까,
추가로 설치할 건 없습니다.
다만. 이제부터 서버 설정은 거의 터미널로 이루어지니까
조금은 더 친해져보는 건 어떨까요?
아무튼, 아까 받은 공인 IP를 활용해서 ssh 접속을 해보도록 하겠습니다.
첫 접속이니까 root 라는 관리자 권한 계정을 통해서 들어가주도록 하죠.
ssh root@공인IP주소
자 그러면, 아마 비밀번호를 바로 입력하라고 나올거에요.
비밀번호를 설정한 적이 없는데 도대체 어디서 찾냐,
바로 다시 콘솔창으로 3끼 굶은 승냥이 마냥 달려가줍니다.

관리자 비밀번호는 처음 이곳에 숨겨져 있습니다.
이상한 비밀번호 막 치다가 서버 터져도 난 몰라요.
나 분명 알려줬어.
콘솔 창 - 관리자 비밀번호 확인

Very Important Pem.
줄여서 VIP.
제 pem 인증키 이름입니다.
매우 중요하다고 했던 이유가 여기 있습니다.
서버 접속을 해야하는데 pem 키 없어서 비밀번호 확인도 못하고 반납해야하는 상황이 올 수 도 있어요.
설마 그러겠냐구요?
제가 그렇게 서버 2개 반납했습니다.
다들 항상 조심하시고, 비밀번호 확인 하세요!

자 이제 비밀번호 까지 알았으면 다시 터미널로 돌아가서 입력해줍니다.
Ctrl+v 가 귀찮다면 터미널에서는 마우스 오른쪽 키를 누르면 붙여넣기 가능합니다.

참고로, 터미널 상에서 비밀번호는 입력해도 나타나지 않습니다.
괜히 다른 키 더 입력하거나 하지 말고,
오직 비밀번호 붙여넣고 엔터키를 눌러주세요.
자 그럼, 우린 돈만 먹던 깡통에 드디어 진입했습니다.
이제 깡통 업데이트 부터 해봐야죠.
밑에 명렁어를 실행해서 업데이트부터 진행합니다.
sudo apt update

업데이트 대충 넘기고,
바로 자바 설치부터 진행합시다.
2 - 1. Java 설치 및 환경변수 설정
자바 17 버전을 사용 중인 저는 17로 설치를 하지만,
다른 버전을 설치하실 경우 버전마다 차이는 있지만 원하시는 버전을 17 자리에 대신 입력하시면 됩니다.
sudo apt install openjdk-17-jdk

자바 설치는 큰 문제없이 진행되실 겁니다.
하지만 확인차, 밑에 코드로 설치된 자바의 정보를 확인합니다.
java --version

그럼 뭐해야겠어요?
우리가 맨날 윈도우에 자바설치하면 하던거 !!!
바로 환경변수 설정입니다.
bashrc란?
우분투에서는 기본적으로 bash 라는 쉘을 사용합니다.
그리고 이 bash 를 설정하는 파일이 bashrc 인 것이죠.
아래 코드로 바로 설정 들어가봅시다.
vi ~/.bashrc

뭔가 생소한 화면이 나타납니다.
여기서 이제 이상한 파일 건들고 혼자 울지말고,
천천히 따라해봅시다.
일단 최하단으로 내려가야하기 때문에
방향키 밑에 버튼으로 최하단까지 내려와줍니다.

여기서 영문자 'I' 버튼을 누르면 insert 모드가 작동하는 분도 있고,
그냥 아무 문자나 치면, 바로 insert 모드로 들어가는 사람들도 있습니다.
둘 중 하나 선택받으셨다면 그걸로 진행합니다.
최하단까지 왔으니까 저기 밑에 엔터 한 두번 치고 밑에 코드를 작성해줍니다.
export JAVA_HOME=/usr/local/jdk-17
export PATH=$PATH:$JAVA_HOME/bin
자바 환경변수 코드입니다.
하지만 당신은 여기서 빠져나오는 방법을 모릅니다.

에반게리온 안보셨다면, 공감 못하셔도 괜찮습니다.
하지만, 맛있는 작품이니까 한번쯤 츄라이.
esc 키를 누르고, :wq 를 입력하고 엔터.
기억해주세요.
bash 에서 저장후 나가려면 esc 누르고 :wq 입니다.
자, 그럼 우린 다시 터미널로 돌아왔습니다.
여기서 bash 는 귀찮지만, 다시한번 저장을 해줘야합니다.
밑에 코드를 한번 더 실행.
source ~/.bashrc
source 명령어를 통해서 변경된 사항들을 다시 저장해주는 과정입니다.
2 - 2. 톰캣 다운로드,설치 및 설정
이 부분, 생각보다 귀찮을 수 있습니다.
리눅스에 파일 구조에 대해서 모르거나 하시면 쉽게 헷갈리시는 부분 중 하나입니다.
천천히 하나씩 가보도록 하죠.
밑에 코드는 apache-tomcat 10.1.26 버전의 주소입니다.
sudo wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz
혹시나 다른 버전의 톰캣을 원하신다면 밑의 주소에서 선택해주세요.
https://archive.apache.org/dist/tomcat/
Index of /dist/tomcat
archive.apache.org
원하는 버전의 폴더로 들어가서
bin 폴더 진입 후, tar.gz 파일의 링크를 복사해서 wget 뒤에 넣어주시면 됩니다.

자, 그러면 우리가 쓰기 편한 폴더로 이동시켜줍니다.
sudo mv apache-tomcat-10.1.26.tar.gz /usr/local/tomcat10
우린 /usr/local 폴더로 tomcat을 이동시켜주는 과정을 진행했습니다.
그럼 또 뭘 해야한다?
언제나 그렇듯이, 우린 또 환경변수를 설정하러 갑니다.
echo "export CATALINA_HOME=/usr/local/tomcat10" >> ~/.bashrc
source ~/.bashrc
이번에는 간단하게 두개의 코드만 터미널에 입력해주면 됩니다.
echo 명령어를 통해서 해결했죠.
source로 저장하는 건 항상 잊지말아주세요.
그 다음, 우리는 이제 서버 전용 인스턴스를 하나 만들어줄겁니다.
cd /usr/local
우선 아까 이동시켰던 톰캣이 있던 폴더로 가볼게요.
cd 명령어는 리눅스에서 꼭 알고 있어야하는 명령어입니다.
이거 없으면 아무것도 못해요!!
cd는 디렉토리를 변경하는 명령어로,
cd/ 는 최상단 폴더로.
cd /usr/local 은 /usr/local 폴더로 바로 이동시켜주는 등,
다양하게 사용되고 있습니다.
나중에 리눅스 서버 필수 명령어 코스에서 만나도록 하죠 후후.
암튼, local 폴더로 이동했으면 인스턴스 생성까지 마무리 해보겠습니다.
mkdir instance1
추후에, 다른 인스턴스를 만들어서 다른 프로젝트를 추가할 수 있으니까
우선 instance1 로 이름을 지어봅시다.
나중에 다른 프로젝트를 같은 서버에서 사용하고 싶다면,
instance2, instance3 등 mkdir을 활용해서 폴더를 만들어서 사용하면 됩니다.
자, 절대 까먹은 건 아니고.....

아까 이름까지 tomcat10으로 바꾸고 /usr/local 폴더로 옮겨왔죠?
압축 풀어줍시다.
* 참고로 이 명령어를 실행할 때는 꼭 /usr/local 위치에 있어야합니다. *
tar xzvf tomcat10
압축을 풀어주고, 아마 파일명이 다시 바뀌어 있을거에요.
이걸 다시 tomcat10 으로 바꿔주도록 하겠습니다.
rm tomcat10
mv apache-tomcat-10.1.26 tomcat10
이제 안에 있는 폴더들을 아까 만들어준 instance1 폴더 안에 복사해주도록 할게요.
한 줄 씩 차례대로 터미널에 입력해줍니다.
cp -r tomcat10/conf instance1/
cp -r tomcat10/logs instance1/
cp -r tomcat10/temp instance1/
cp -r tomcat10/webapps instance1/
진짜 거의 다 왔습니다.
2 - 3. startup, shutdown 명령어 설정
bin 폴더 생성을 위해서 instance1 폴더로 들어가줍니다.
cd /usr/local/instance1
mkdir bin
cd instance1 을 통해서 instance1 폴더로 이동 후,
mkdir 명령어를 통해서 bin 폴더를 생성해줍니다.
그리고 bin 폴더로 들어가서 설정해줄 예정입니다.
cd /usr/local/instance1/bin
vi startup.sh
bin 폴더로 진입 후, startup.sh 레스고입니다.
CATALINA_HOME=/usr/local/tomcat10
CATALINA_BASE=/usr/local/instance1
LOG_DIR=$CATALINA_BASE/logs
export CATALINA_HOME CATALINA_BASE LOG_DIR
$CATALINA_HOME/bin/startup.sh

start 만들어줬으니, shutdown도 만들어야겠죠.
vi shutdown.sh
자 다시 밑에 명령어 넣고 :wq 잊지 말아주세요.
CATALINA_HOME=/usr/local/tomcat10
CATALINA_BASE=/usr/local/instance1
export CATALINA_HOME CATALINA_BASE
$CATALINA_HOME/bin/shutdown.sh

리눅스에서는 폴더 위치가 매우 중요합니다.
확신이 없다.
그러면 항상 ls 명령어를 통해서 이 폴더가 맞는지 확인해주는 것도 중요하다고 생각해요.
항상 올바른 폴더에서, 오타 없이, 올바른 명령어로 실행해주세요.
이것만 지켜도 오류의 절반 이상은 없어집니다 !!!
자, 이제 포트 설정만 마무리하고 이번 글을 마치도록 하겠습니다.
조금만 화이팅이에요!
cd 명령어를 통해서 아까 복사해둔 conf 폴더로 이동해줍니다.
cd /usr/local/instance1/conf
우린 이 폴더에 있는 server.xml에서 포트 설정을 변경해줄겁니다.
vi server.xml
또 아까와 같은 퍼런 코드와 화면이 등장합니다.
여기서 딱 2군데만 수정합니다.
사진의 8005, 8080 이라고 되어있는 부분을
밑에 번호로 수정해줍니다.
변경하실 때 영문자 'i' 를 눌러야 insert 모드로 동작한다고 아까 배웠죠?
지금 다시 써먹어봅시다.
* 포트 번호만 변경해주세요! *
코드 건들기 금지 !.!
<Server port="8105" shutdown="SHUTDOWN">
<Connector port="8180" protocol="HTTP/1.1" .../>


자 이제 설정을 끝냈으면 기적의 코드 :wq 로 저장하고 마무리해줍니다.
이렇게 마무리했다면, 서버의 세팅은 끝났습니다.

이제 당신의 서버는 가만히 있는 깡통이 아닌, 자바와 톰캣 설정이 끝난
멋쟁이 서버로 탄생입니다.
이제 프로젝트로 만들어둔 파일을 war 파일로 변환해서
서버로 보내주기만 하면 되는데,
글이 너무 길어진 관계로 다음 글에서 함께 올려보도록 할게요!
다들 다음시간까지, 스프링으로 프로젝트 쌈@뽕하게 하나 만들어와주세요.
아니면 말구. 헤헤
자.. 그럼 NCP 광고를 환영하는 주인장은 이만 꿈속에서 로또나 맞으러 가보겠습니다.
내가 로또 당첨만 되면 블로그 안쓰지! 어휴.
(주인장은 NCP의 광고를 언제나 기다리고 있습니다. 멍멍)
'Server(NCP)' 카테고리의 다른 글
[Server(NCP)] 3. Spring의 'WAR 파일'과 함께 서버 오픈하기. (3) | 2024.08.25 |
---|---|
[Server(NCP)] 1. NCP(Naver Cloud Platform) 서버 생성 1 부터 10 까지 차근차근 따라하기 (2) | 2024.08.07 |