IT기초

μ„œλ²„ μž¬λΆ€νŒ… 없이 μ„œλΉ„μŠ€ μž¬μ‹œμž‘ν•˜λŠ” 방법 정리

πŸ₯„ν…Œν¬ ν•œ μŠ€ν‘Ό 2026. 5. 25. 17:54

λͺ©μ°¨

  1. μ™œ μž¬λΆ€νŒ… 없이 μž¬μ‹œμž‘ν•΄μ•Ό ν• κΉŒ?
  2. systemctl둜 μ„œλΉ„μŠ€ μž¬μ‹œμž‘ν•˜κΈ°
  3. reload vs restart – 무엇이 λ‹€λ₯Έκ°€?
  4. μ„œλΉ„μŠ€λ³„ μž¬μ‹œμž‘ λͺ…λ Ήμ–΄ λͺ¨μŒ
  5. μ„œλΉ„μŠ€κ°€ μž¬μ‹œμž‘λ˜μ§€ μ•Šμ„ λ•Œ 원인 μ°ΎκΈ°
  6. μ„œλ²„ μž¬λΆ€νŒ…μ΄ λ°˜λ“œμ‹œ ν•„μš”ν•œ 경우
  7. 정리

1. μ™œ μž¬λΆ€νŒ… 없이 μž¬μ‹œμž‘ν•΄μ•Ό ν• κΉŒ?

μ„œλ²„ 섀정을 λ³€κ²½ν•˜κ±°λ‚˜ μ½”λ“œλ₯Ό μ—…λ°μ΄νŠΈν–ˆμ„ λ•Œ, λ³€κ²½ 사항이 적용되렀면 μ„œλΉ„μŠ€λ₯Ό μž¬μ‹œμž‘ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λ•Œ λ§Žμ€ μ΄ˆλ³΄μžλ“€μ΄ μ„œλ²„ 전체λ₯Ό μž¬λΆ€νŒ…(reboot)ν•˜λ €λŠ” κ²½ν–₯이 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ„œλ²„λ₯Ό μž¬λΆ€νŒ…ν•˜λ©΄ λͺ¨λ“  μ„œλΉ„μŠ€κ°€ μˆ˜μ‹­ μ΄ˆμ—μ„œ 수 λΆ„κ°„ μ€‘λ‹¨λ©λ‹ˆλ‹€. κ·Έ μ‹œκ°„ λ™μ•ˆ μ‚¬μ΄νŠΈμ— μ ‘μ†ν•˜λŠ” μ‚¬λžŒλ“€μ€ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ‹€μ œ μ„œλΉ„μŠ€λ₯Ό 운영 쀑이라면 μ΄λŠ” 큰 λ¬Έμ œμž…λ‹ˆλ‹€.

λ‹€ν–‰νžˆ λ¦¬λˆ…μŠ€μ—μ„œλŠ” μ„œλ²„ 전체λ₯Ό μž¬λΆ€νŒ…ν•˜μ§€ μ•Šκ³  νŠΉμ • μ„œλΉ„μŠ€λ§Œ μ„ νƒμ μœΌλ‘œ μž¬μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ μ„€μ • 변경은 μ„œλΉ„μŠ€ μž¬μ‹œμž‘λ§ŒμœΌλ‘œ μΆ©λΆ„νžˆ μ μš©λ©λ‹ˆλ‹€.

2. systemctl둜 μ„œλΉ„μŠ€ μž¬μ‹œμž‘ν•˜κΈ°

μ•žμ„œ 배운 systemctl λͺ…λ Ήμ–΄λ‘œ μ„œλΉ„μŠ€λ₯Ό μž¬μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κΈ°λ³Έ μ‚¬μš©λ²•μ„ λ‹€μ‹œ μ •λ¦¬ν•©λ‹ˆλ‹€.

μ„œλΉ„μŠ€λ₯Ό μ™„μ „νžˆ μ€‘μ§€ν–ˆλ‹€κ°€ λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€.

sudo systemctl restart μ„œλΉ„μŠ€λͺ…

μ„œλΉ„μŠ€μ˜ ν˜„μž¬ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. μž¬μ‹œμž‘ ν›„ μ •μƒμ μœΌλ‘œ running μƒνƒœμΈμ§€ λ°˜λ“œμ‹œ ν™•μΈν•˜λŠ” μŠ΅κ΄€μ΄ μ€‘μš”ν•©λ‹ˆλ‹€.

sudo systemctl status μ„œλΉ„μŠ€λͺ…

μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€.

sudo systemctl stop μ„œλΉ„μŠ€λͺ…

μ„œλΉ„μŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.

sudo systemctl start μ„œλΉ„μŠ€λͺ…

3. reload vs restart – 무엇이 λ‹€λ₯Έκ°€?

systemctlμ—λŠ” restart 외에 reloadλΌλŠ” λͺ…령도 μžˆμŠ΅λ‹ˆλ‹€. 두 λͺ…λ Ήμ–΄μ˜ 차이λ₯Ό μ΄ν•΄ν•˜λ©΄ 더 μ•ˆμ „ν•˜κ²Œ μ„œλΉ„μŠ€λ₯Ό μš΄μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ꡬ뢄restartreload
λ™μž‘ 방식 μ„œλΉ„μŠ€λ₯Ό μ™„μ „νžˆ μ’…λ£Œ ν›„ μž¬μ‹œμž‘ μ„œλΉ„μŠ€λ₯Ό μ’…λ£Œν•˜μ§€ μ•Šκ³  μ„€μ •λ§Œ λ‹€μ‹œ 읽음
μ„œλΉ„μŠ€ 쀑단 짧은 μ‹œκ°„ 쀑단됨 쀑단 μ—†μŒ (무쀑단)
μ‚¬μš© μ‹œμ  μ½”λ“œλ‚˜ ν”„λ‘œκ·Έλž¨ μžμ²΄κ°€ λ°”λ€Œμ—ˆμ„ λ•Œ μ„€μ • 파일만 변경됐을 λ•Œ
지원 μ—¬λΆ€ λͺ¨λ“  μ„œλΉ„μŠ€ 지원 일뢀 μ„œλΉ„μŠ€λ§Œ 지원

예λ₯Ό λ“€μ–΄ Nginx μ„€μ • 파일(nginx.conf)을 μˆ˜μ •ν–ˆλ‹€λ©΄, restart λŒ€μ‹  reloadλ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλΉ„μŠ€ 쀑단 없이 섀정을 λ°˜μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

sudo systemctl reload nginx

reloadλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ„œλΉ„μŠ€λŠ” reload λͺ…령을 싀행해도 μžλ™μœΌλ‘œ restart둜 λ™μž‘ν•˜κ±°λ‚˜ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. ν™•μ‹€ν•˜μ§€ μ•Šλ‹€λ©΄ restartλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ•ˆμ „ν•©λ‹ˆλ‹€.

4. μ„œλΉ„μŠ€λ³„ μž¬μ‹œμž‘ λͺ…λ Ήμ–΄ λͺ¨μŒ

자주 μ‚¬μš©ν•˜λŠ” μ„œλΉ„μŠ€λ³„ μž¬μ‹œμž‘ λͺ…λ Ήμ–΄λ₯Ό μ •λ¦¬ν•©λ‹ˆλ‹€.

Nginx μ›Ήμ„œλ²„

μ„€μ • 파일 문법 였λ₯˜λ₯Ό λ¨Όμ € κ²€μ‚¬ν•©λ‹ˆλ‹€.

sudo nginx -t

문법에 이상이 μ—†λ‹€λ©΄ 섀정을 λ°˜μ˜ν•©λ‹ˆλ‹€.

sudo systemctl reload nginx

MySQL λ°μ΄ν„°λ² μ΄μŠ€

sudo systemctl restart mysql

SSH μ„œλ²„

SSH μ„€μ • λ³€κ²½ ν›„ μž¬μ‹œμž‘ μ‹œμ—λŠ” ν˜„μž¬ 접속이 λŠμ–΄μ§€μ§€ μ•Šλ„λ‘ μ£Όμ˜ν•©λ‹ˆλ‹€. μƒˆ μ„€μ •μœΌλ‘œ 접속이 κ°€λŠ₯ν•œμ§€ λ¨Όμ € ν…ŒμŠ€νŠΈν•œ ν›„ μž¬μ‹œμž‘ν•©λ‹ˆλ‹€.

sudo systemctl restart sshd

Node.js μ•± (PM2 μ‚¬μš© μ‹œ)

PM2λŠ” Node.js 앱을 λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰ν•˜κ³  κ΄€λ¦¬ν•΄μ£ΌλŠ” λ„κ΅¬μž…λ‹ˆλ‹€. PM2둜 μ‹€ν–‰ 쀑인 앱을 λ¬΄μ€‘λ‹¨μœΌλ‘œ μž¬μ‹œμž‘ν•˜λ €λ©΄ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

pm2 reload 앱이름

μ½”λ“œ λ³€κ²½ 사항을 λ°˜μ˜ν•  λ•ŒλŠ” reloadλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

pm2 restart 앱이름

5. μ„œλΉ„μŠ€κ°€ μž¬μ‹œμž‘λ˜μ§€ μ•Šμ„ λ•Œ 원인 μ°ΎκΈ°

μž¬μ‹œμž‘ λͺ…령을 μž…λ ₯ν–ˆλŠ”λ° μ„œλΉ„μŠ€κ°€ μ •μƒμ μœΌλ‘œ λœ¨μ§€ μ•ŠλŠ” 경우, μ•„λž˜ μˆœμ„œλ‘œ 원인을 ν™•μΈν•©λ‹ˆλ‹€.

1단계. μ„œλΉ„μŠ€ μƒνƒœ 확인

sudo systemctl status μ„œλΉ„μŠ€λͺ…

좜λ ₯ κ²°κ³Όμ—μ„œ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€. μ„€μ • 파일 였λ₯˜, 포트 좩돌 λ“±μ˜ 원인이 ν‘œμ‹œλ©λ‹ˆλ‹€.

2단계. 둜그 확인

sudo journalctl -u μ„œλΉ„μŠ€λͺ… -n 50

졜근 50μ€„μ˜ μ„œλΉ„μŠ€ 둜그λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. 였λ₯˜ 원인이 더 μžμ„Ένžˆ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

3단계. μ„€μ • 파일 문법 검사

Nginx의 경우 μ„€μ • νŒŒμΌμ— 문법 였λ₯˜κ°€ 있으면 μž¬μ‹œμž‘μ΄ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

sudo nginx -t

이 λͺ…λ Ήμ–΄λ‘œ 문법 였λ₯˜ μœ„μΉ˜λ₯Ό μ •ν™•νžˆ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

4단계. 포트 좩돌 확인

같은 포트λ₯Ό μ‚¬μš©ν•˜λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ 이미 μ‹€ν–‰ 쀑이면 μ„œλΉ„μŠ€κ°€ λœ¨μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

ss -tuln | grep 80

80번 포트λ₯Ό μ‚¬μš©ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

6. μ„œλ²„ μž¬λΆ€νŒ…μ΄ λ°˜λ“œμ‹œ ν•„μš”ν•œ 경우

λŒ€λΆ€λΆ„μ˜ 경우 μ„œλΉ„μŠ€ μž¬μ‹œμž‘μœΌλ‘œ μΆ©λΆ„ν•˜μ§€λ§Œ, μ•„λž˜ μƒν™©μ—μ„œλŠ” μ„œλ²„ 전체 μž¬λΆ€νŒ…μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

컀널 μ—…λ°μ΄νŠΈ 적용 μ‹œ λ¦¬λˆ…μŠ€ 컀널이 μ—…λ°μ΄νŠΈλλ‹€λ©΄ μž¬λΆ€νŒ…ν•΄μ•Ό μƒˆ 컀널이 μ μš©λ©λ‹ˆλ‹€. sudo apt upgrade ν›„ μž¬λΆ€νŒ…μ΄ ν•„μš”ν•˜λ‹€λŠ” λ©”μ‹œμ§€κ°€ 뜨면 ν•΄λ‹Ήλ©λ‹ˆλ‹€.

λ©”λͺ¨λ¦¬ λˆ„μˆ˜κ°€ μ‹¬κ°ν•œ 경우 μž₯κΈ°κ°„ 운영 쀑 λ©”λͺ¨λ¦¬ λˆ„μˆ˜λ‘œ 인해 μ„œλ²„κ°€ λΉ„μ •μƒμ μœΌλ‘œ λŠλ €μ§„ 경우, λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄ˆκΈ°ν™”ν•˜κΈ° μœ„ν•΄ μž¬λΆ€νŒ…μ΄ ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜λ“œμ›¨μ–΄ λ³€κ²½ ν›„ μƒˆ λ””μŠ€ν¬ μΆ”κ°€, RAM ꡐ체 λ“± ν•˜λ“œμ›¨μ–΄λ₯Ό λ³€κ²½ν•œ 경우 μž¬λΆ€νŒ…μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

μž¬λΆ€νŒ…μ΄ ν•„μš”ν•œ κ²½μš°μ—λ„ μ„œλΉ„μŠ€ 점검 μ‹œκ°„μ„ 미리 κ³΅μ§€ν•˜κ³ , νŠΈλž˜ν”½μ΄ 적은 μƒˆλ²½ μ‹œκ°„λŒ€λ₯Ό ν™œμš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

7. 정리

였늘 배운 핡심을 μ •λ¦¬ν•©λ‹ˆλ‹€.

  • μ„œλ²„ 전체λ₯Ό μž¬λΆ€νŒ…ν•˜λŠ” λŒ€μ‹ , systemctl restart λͺ…λ ΉμœΌλ‘œ νŠΉμ • μ„œλΉ„μŠ€λ§Œ μž¬μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • reloadλŠ” μ„œλΉ„μŠ€ 쀑단 없이 μ„€μ •λ§Œ λ‹€μ‹œ μ½λŠ” λ°©μ‹μœΌλ‘œ, μ„€μ • 파일 λ³€κ²½ μ‹œ restart보닀 μ•ˆμ „ν•©λ‹ˆλ‹€.
  • μ„œλΉ„μŠ€κ°€ μž¬μ‹œμž‘λ˜μ§€ μ•Šμ„ λ•ŒλŠ” systemctl status와 journalctl둜 원인을 ν™•μΈν•©λ‹ˆλ‹€.
  • 컀널 μ—…λ°μ΄νŠΈ 적용, μ‹¬κ°ν•œ λ©”λͺ¨λ¦¬ λˆ„μˆ˜, ν•˜λ“œμ›¨μ–΄ λ³€κ²½μ˜ κ²½μš°μ—λŠ” 전체 μž¬λΆ€νŒ…μ΄ ν•„μš”ν•©λ‹ˆλ‹€.