4-06. ์๋ฒ ์คํฌ๋ฆฝํธ
4-06. ์๋ฒ ์คํฌ๋ฆฝํธ ๊ด๋ จ
์ด์ ์ฅ์์ ๋ค์์ ๋ช ๋ น์ ์คํํ์ฌ SBB ๋ฐฐํฌํ์ผ์ ์คํํ์ฌ ์๋น์ค๋ฅผ ์คํํ๋ค.
java -jar sbb-0.0.1-SNAPSHOT.jar
ํ์ง๋ง ์์ ๊ฐ์ด ๋จ์ํ๊ฒ ์คํํ๋ฉด ์๋ฒ์ ์ ์ํ ํฐ๋ฏธ๋์ ์ข ๋ฃํ๋ฉด ์๋น์ค๋ ์ค๋จ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์๋น์ค๋ฅผ ์คํํด์ผ ํ๋ค.
์ด๋ฒ ์ฅ์์๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์๋น์ค๋ฅผ ์์ํ๋ ์คํฌ๋ฆฝํธ(shell script)์ ์๋น์ค๋ฅผ ์ค์งํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด ๋ณด์.
SBB ์์ ์คํฌ๋ฆฝํธ
SBB ์๋น์ค๋ฅผ ์คํํ๋ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์. ์ด๋ ์๋ฒ์์๋ STS์ ๊ฐ์ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์๋ nano
ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์.
ํฐ๋ฏธ๋์์ sbb ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ ๋ค์ nano start.sh
๋ช
๋ น์ ์ํํ์.
cd sbb
nano start.sh
์์ฝ๊ฒ๋ nano ํธ์ง๊ธฐ์์๋ ๋ง์ฐ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง ํ์ดํ ํค๋ก ์ปค์๋ฅผ ์์ง์ด๋ฉฐ ํธ์งํ ์ ์์ผ๋ฏ๋ก ๊ทธ๋ค์ง ์ด๋ ต์ง ์๋ค. ํธ์ง๊ธฐ ์๋์๋ ์ฌ๋ฌ ๋จ์ถํค ๊ธฐ๋ฅ์ด ํ์๋์ด ์๋ค.
^
๋ Ctrl์ ์๋ฏธํ๋ค.^X
๋ Ctrl๊ณผ X๋ฅผ ๋์์ ๋๋ฅด๋ผ๋ ๋ป์ด๋ค.
nano ํธ์ง๊ธฐ์์ ๋ค์ ๋ด์ฉ์ ์
๋ ฅํ๊ณ Ctrl+O๋ฅผ ๋๋ฌ์ start.sh
ํ์ผ์ ์ ์ฅํ ๋ค Ctrl+X๋ฅผ ๋๋ฌ์ ํธ์ง๊ธฐ๋ฅผ ์ข
๋ฃํ์.
ํ์ผ๋ช :
/home/ubuntu/sbb/
start.sh
#!/bin/bash
JAR=sbb-0.0.1-SNAPSHOT.jar
LOG=/home/ubuntu/sbb/sbb.log
nohup java -jar $JAR > $LOG 2>&1 &
JAR
๋ณ์๋ ๋ฐฐํฌํ์ผ๋ช
์ด๊ณ LOG
๋ณ์๋ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ ํ์ผ๋ช
์ด๋ค.
๋ก๊ทธ ํ์ผ์๋ STS์์ ๋ก์ปฌ ์๋ฒ ์คํ์ ์ฝ์์ฐฝ์ ํ์๋๋ ๊ฒ๊ณผ ๋์ผํ ๋ก๊ทธ๋ค์ด ์ถ๋ ฅ๋๋ค.
์ ๋ช
๋ น์ด์์ nohup๋ ํ๋ก์ธ์ค๋ฅผ ์คํํ ํฐ๋ฏธ๋์ ์ฐ๊ฒฐ์ด ๋์ด์ง๋๋ผ๋ ํ๋ก์ธ์ค๊ฐ ์ง์์ ์ผ๋ก ๋์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช
๋ น์ด์ด๊ณ > $LOG
๋ ํ๋ก์ธ์ค์ ์ถ๋ ฅ์ ๋ก๊ทธํ์ผ์ ์ ์ฅํ๋ผ๋ ์๋ฏธ์ด๋ค. 2>&1
์ ์ค๋ฅ(stderr) ์ถ๋ ฅ์ ์ผ๋ฐ(stdout) ์ถ๋ ฅ์ผ๋ก ์ ๋ฌํ๋ผ๋ ์๋ฏธ์ด๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ ๋ก๊ทธ์ ์ค๋ฅ ๋ก๊ทธ๊ฐ ๋ชจ๋ sbb.log
ํ์ผ์ ์ ์ฅ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ &
๋ฌธ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ช
๋ น์ ์คํํ๋ผ๋ ์๋ฏธ์ด๋ค.
์๋ฒ ๋ก๊ทธ๋ฅผ ์ ๊ด๋ฆฌํ๊ธฐ ์ํ logback์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๋์ค์ ์์๋ณธ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ช ๋ง ์ ๋ ฅํ๋๋ผ๋ ์คํ์ด ๋ ์ ์๊ฒ ์คํ๊ถํ์ ๋ถ์ฌํ์.
chmod +x start.sh
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์๋ฒ๋ฅผ ์คํํ์.
./start.sh
#
./start.sh
์์./
์ ์๋ฏธ๋ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค.
SBB ์ค์ง ์คํฌ๋ฆฝํธ
์คํ์ค์ธ SBB ์๋น์ค๋ฅผ ์ค์งํ๊ธฐ ์ํ stop.sh
์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์.
ํ์ผ๋ช :
/home/ubuntu/sbb/
stop.sh
#!/bin/bash
SBB_PID=$(ps -ef | grep java | grep sbb | awk '{print $2}')
if [ -z "$SBB_PID" ];
then
echo "SBB is not running"
else
kill -9 $SBB_PID
echo "SBB stopped."
fi
SBB_PID
๋ ํ์ฌ ์คํ์ค์ธ SBB ์๋น์ค์ ํ๋ก์ธ์ค ์์ด๋์ด๋ค. ๋ง์ฝ SBB ์๋น์ค์ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด "SBB is not running" ์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด kill -9
๋ก ํด๋น ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ๋ก ์ข
๋ฃํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ช ๋ง ์ ๋ ฅํ๋๋ผ๋ ์คํ์ด ๋ ์ ์๊ฒ ์คํ๊ถํ์ ๋ถ์ฌํ์.
chmod +x stop.sh
์๋น์ค๋ฅผ ์ค์งํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํํ๋ค.
./stop.sh
SBB ์ฌ์์
๋ง์ฝ SBB ํ๋ก๊ทธ๋จ์ด ๋ณ๊ฒฝ๋์๋ค๋ฉด jar
ํ์ผ์ ๋ณ๊ฒฝํ ํ์ stop.sh
๊ณผ start.sh
์ ์์๋๋ก ์คํํ๋ฉด ๋๋ค.
./stop.sh # ์ค์ง
./start.sh # ์์