๐ Raspberry Pi ์๋ฒ์ ํ๋ก์ ํธ ๋ฐฐํฌ
๐ Raspberry Pi ์๋ฒ์ ํ๋ก์ ํธ ๋ฐฐํฌ
์๋ฒ ์๊ฒฉ ์ ์
IP
๋ฅผ ๋ชจ๋ฅผ ๊ฒฝ์ฐ ๊ณต์ ๊ธฐ ์ฌ์ดํธ์ ์ ์ํ์ฌ ํ์ธํ๋ฉด ๋๋ค.
Raspberry Pi
๋์
๊ทผ๊ฑฐ
On-premise
๋ฐฉ์์ผ๋ก ์๋ฒ๋ฅผ ๊ตฌ์ถํด๋ณด๊ณ ์ถ๊ธฐ๋ ํ๊ณ , ์ค์ ๋ก ์๋ฒ๊ฐ ํ์ํ๋ค.
ํ๋ก์ ํธ ๋ฐฐํฌ ๊ณผ์
JDK
์ค์นSSH Key
์์ฑDocker
,Docker-compose
์ค์น- ๋ฐฉํ๋ฒฝ ์ค์
Docker
๋ฐ ํ๋ก์ ํธ ๊ด๋ จ ํ์ผ ์๊ฒฉ ์ ์กDocker-compose
ํ์ผ ๋ฐJAR
ํ์ผ ์คํ
โ
JDK
์ค์น
1
2
3
4
5
6
7
8
9
10
11
12
13
# ํจํค์ง ๊ฐฑ์
sudo apt update
sudo apt install -y wget gnupg software-properties-common
# ์ต์ OpenJDK ๋ฒ์ ๊ฐฑ์
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
# JDK ์ค์น
sudo apt install -y openjdk-21-jdk
# ๋ฒ์ ํ์ธ
java -version
โ
SSH Key
์์ฑ
1
2
3
4
5
6
7
8
9
# SSH Key ์์ฑ
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_rpi_key
# SSH ์๊ฒฉ ์ ์
ssh ์ฌ์ฉ์๋ช
@๋ผ์ฆ๋ฒ ๋ฆฌํ์ด_IP
# ๊ณต๊ฐํค ๋ฑ๋ก
mkdir -p ~/.ssh
sudo vi ~/.ssh/authorized_keys
Raspberry Pi
OS
์ค์น ์ ์ ์์ ์ํ ๊ณต๊ฐํค๋ ์ฃผ์ง๋ง ๊ฐ์ธํค๋ ์ฃผ์ง ์์๋ค.- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํธ์คํธ
PC
์์ ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌSSH Key
๋ฅผ ์์ฑํ๊ณ , ๊ณต๊ฐํค๋ฅผRaspberry Pi
์๋ฒ์ ๋ฑ๋กํ์.
โ
Docker
, Docker-compose
์ค์น
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# HTTPS์ฉ ์ธ์ฆ์, ๋ค์ด๋ก๋ ๋๊ตฌ, GPG ํค ์ฒ๋ฆฌ ๋๊ตฌ ์ค์น
sudo apt update
sudo apt install -y ca-certificates curl gnupg
# ๋์ปค GPG ๊ณต๊ฐํค ๋ฑ๋ก
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# ์ ์ฅ์ ๋ฑ๋ก
echo \
ย ย "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
ย ย https://download.docker.com/linux/ubuntu jammy stable" | \
ย ย sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# ๋์ปค ์ค์น
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# ์ค์น ํ์ธ
docker --version
docker compose version
Docker
์GPG Key
๋ฅผ ์ค์ ํ์ฌAPT
๊ฐ ํด๋น ํจํค์ง๊ฐ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ์์ ์๋์ง ๊ฒ์ฆํ ์ ์๋๋ก ํด์ผ ํ๋ค.
1
2
sudo snap install dockerย ย ย ย ย ย ย ย ย ย # version 27.5.1
sudo aptย ย install docker-composeย ย # version 1.29.2-6
- ํ์๋
docker-compose up -d
๋ช ๋ น์ด๊ฐ ์คํ๋์ง ์์์ ์ ๋ช ๋ น์ด๋ก ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ ํ์๋ค.
โ ๋ฐฉํ๋ฒฝ ์ค์
1
2
3
4
5
6
7
8
9
sudo apt update
sudo apt install ufw -y
sudo ufw allow 8080
sudo ufw allow 8081
sudo ufw allow 8082
sudo ufw allow 22
sudo ufw enable
โ
Docker
๋ฐ ํ๋ก์ ํธ ๊ด๋ จ ํ์ผ ์๊ฒฉ ์ ์ก
FileZila
๋ฅผ ํตํด ํ์ผ์ ์ ์กํ๋ค.
โ
Docker-compose
ํ์ผ ๋ฐ JAR
ํ์ผ ์คํ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ๋์ปค ์ปดํฌ์ฆ ํ์ผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ
docker-compose up -d
# Jar ํ์ผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ ๋ฐ ๋ก๊ทธ ํ์ผ ์์ฑ
nohub java -jar samsami-hub-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
# ์คํ ์ค์ธ ํ๋ก์ ํธ PID ํ์ธ
ps aux | grep samsami-hub-0.0.1-SNAPSHOT.jar
# ํ๋ก์ ํธ ๋ก๊ทธ ํ์ธ
tail -f app.log
# ๋์ปค ์ปดํฌ์ฆ ์คํ ํ๋ก์ธ์ค ๋ฐ ๋ณผ๋ฅจ ๋ค์ด
docker-compose down -v
# ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ ์ค์ธ ํ๋ก์ ํธ ๋ค์ด
kill -9 PID
ํ๊ณ
- ์ด๋ฒ ์ค์ต์์๋
On-premise
๋ฐฉ์๋Cloud
๋ฐฉ์๊ณผ ํฌ๊ฒ ๋ค๋ฅธ ๊ฑด ์์๋ค. - ์ถํ
Load Balancing
์ด๋ ๋ณด์ ์ค์ ๋ฑ ๋คํธ์ํฌ ์ธก๋ฉด์์ ์กฐ๊ธ ๋ ์ ๊ฒฝ ์จ๋ด์ผ๊ฒ ๋ค๊ณ ๋๊ผ๋ค.
This post is licensed under CC BY 4.0 by the author.