โ˜๏ธ DevOps ๐ŸŒฑ ์ž…๋ฌธ

Linux ์„œ๋ฒ„ ๊ด€๋ฆฌ

๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ์šด์˜ ํ•„์ˆ˜ ์ง€์‹

โฑ๏ธ 10์‹œ๊ฐ„ ๐Ÿ‘๏ธ 19 ์กฐํšŒ
๐Ÿ“– ๊ฐ•์ขŒ ๋‚ด์šฉ
# Linux ์„œ๋ฒ„ ๊ด€๋ฆฌ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

## ํ•™์Šต ๋ชฉํ‘œ
Linux ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๊ณ  ์šด์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์„ ํ‚ค์›๋‹ˆ๋‹ค.

## 1. ๊ธฐ๋ณธ ๋ช…๋ น์–ด
ls -la # ์ƒ์„ธ ๋ชฉ๋ก
cd /var/www # ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™
pwd # ํ˜„์žฌ ๊ฒฝ๋กœ
mkdir -p a/b/c # ์ค‘์ฒฉ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
rm -rf folder # ํด๋” ์‚ญ์ œ

cp file1 file2 # ๋ณต์‚ฌ
mv file1 file2 # ์ด๋™/์ด๋ฆ„๋ณ€๊ฒฝ
cat file # ํŒŒ์ผ ๋‚ด์šฉ ๋ณด๊ธฐ
less file # ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋ณด๊ธฐ
head -n 20 file # ์ฒ˜์Œ 20์ค„
tail -f log.txt # ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ณด๊ธฐ

## 2. ํŒŒ์ผ ๊ถŒํ•œ ๊ด€๋ฆฌ
ls -la
# -rwxr-xr-x = ์†Œ์œ ์ž(rwx) ๊ทธ๋ฃน(r-x) ๊ธฐํƒ€(r-x)

chmod 755 script.sh # rwxr-xr-x
chmod +x script.sh # ์‹คํ–‰ ๊ถŒํ•œ ์ถ”๊ฐ€
chmod -R 644 folder # ์žฌ๊ท€์  ์ ์šฉ

chown user:group file
chown -R www-data:www-data /var/www

## 3. ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ
apt update # ํŒจํ‚ค์ง€ ๋ชฉ๋ก ๊ฐฑ์‹ 
apt upgrade # ์ „์ฒด ์—…๊ทธ๋ ˆ์ด๋“œ
apt install nginx # ์„ค์น˜
apt remove nginx # ์ œ๊ฑฐ
apt autoremove # ๋ถˆํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

## 4. ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ
ps aux # ์ „์ฒด ํ”„๋กœ์„ธ์Šค
ps aux | grep nginx # ํ•„ํ„ฐ๋ง
top # ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง
htop # ํ–ฅ์ƒ๋œ ๋ชจ๋‹ˆํ„ฐ๋ง

kill 1234 # PID๋กœ ์ข…๋ฃŒ
kill -9 1234 # ๊ฐ•์ œ ์ข…๋ฃŒ
killall nginx # ์ด๋ฆ„์œผ๋กœ ์ข…๋ฃŒ

## 5. ์„œ๋น„์Šค(Systemd) ๊ด€๋ฆฌ
systemctl start nginx # ์‹œ์ž‘
systemctl stop nginx # ์ค‘์ง€
systemctl restart nginx # ์žฌ์‹œ์ž‘
systemctl reload nginx # ์„ค์ • ๋ฆฌ๋กœ๋“œ
systemctl status nginx # ์ƒํƒœ ํ™•์ธ

systemctl enable nginx # ๋ถ€ํŒ… ์‹œ ์ž๋™ ์‹œ์ž‘
systemctl disable nginx

journalctl -u nginx -f # ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ

## 6. ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ
ip addr
ifconfig

netstat -tulpn # ์—ด๋ฆฐ ํฌํŠธ
ss -tulpn # ๋” ๋น ๋ฅธ ๋Œ€์•ˆ
lsof -i :80 # 80ํฌํŠธ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค

ping google.com
curl -I https://example.com

## 7. ๋ฐฉํ™”๋ฒฝ (UFW)
ufw status
ufw enable
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 192.168.1.0/24
ufw deny 3306
ufw delete allow 80/tcp

## 8. SSH ์ ‘์† ๋ฐ ๋ณด์•ˆ
ssh user@host
ssh -p 2222 user@host
ssh -i key.pem user@host

ssh-keygen -t ed25519
ssh-copy-id user@host

# /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication no

## 9. ๋””์Šคํฌ ๊ด€๋ฆฌ
df -h # ๋งˆ์šดํŠธ๋œ ๋””์Šคํฌ
du -sh /var # ํด๋” ํฌ๊ธฐ
du -sh * | sort -h # ํฌ๊ธฐ์ˆœ ์ •๋ ฌ

lsblk # ๋ธ”๋ก ์žฅ์น˜ ๋ชฉ๋ก
fdisk -l # ํŒŒํ‹ฐ์…˜ ์ •๋ณด

mount /dev/sdb1 /mnt/data
umount /mnt/data

## 10. ๋กœ๊ทธ ๋ถ„์„
/var/log/syslog # ์‹œ์Šคํ…œ ๋กœ๊ทธ
/var/log/auth.log # ์ธ์ฆ ๋กœ๊ทธ
/var/log/nginx/ # Nginx ๋กœ๊ทธ

tail -f /var/log/syslog
grep "error" /var/log/nginx/error.log

## 11. Cron ์Šค์ผ€์ค„๋ง
crontab -e

# ํ˜•์‹: ๋ถ„ ์‹œ ์ผ ์›” ์š”์ผ ๋ช…๋ น
0 2 * * * /backup.sh # ๋งค์ผ 2์‹œ
*/5 * * * * /check.sh # 5๋ถ„๋งˆ๋‹ค
0 0 * * 0 /weekly.sh # ๋งค์ฃผ ์ผ์š”์ผ

crontab -l # ํ™•์ธ

## ์ถ”์ฒœ ํ•™์Šต ์ˆœ์„œ
1. ๊ธฐ๋ณธ ๋ช…๋ น์–ด ์ˆ™๋‹ฌ
2. ํŒŒ์ผ ๊ถŒํ•œ ์ดํ•ด
3. ์„œ๋น„์Šค ๊ด€๋ฆฌ ์ตํžˆ๊ธฐ
4. SSH ๋ณด์•ˆ ์„ค์ •
5. ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ