Search

๊ธฐ๋ณธ ๋ช…๋ น์–ด

Nginx ๊ธฐ๋ณธ ๋ช…๋ น์–ด

๊ฐœ์š”

Nginx๋Š” systemctl ๋ช…๋ น์–ด๋กœ ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , nginx ๋ช…๋ น์–ด๋กœ ์„ค์ • ํ…Œ์ŠคํŠธ ๋ฐ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
Nginx๋ฅผ ์„ค์น˜ํ–ˆ์œผ๋ฉด ์ด์ œ ์ œ์–ดํ•  ์ค„ ์•Œ์•„์•ผ๊ฒ ์ฃ ? ์ž๋™์ฐจ๋ฅผ ์ƒ€์œผ๋ฉด ์šด์ „ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ์š”! Nginx ์ œ์–ด๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด์š”:
1.
systemctl โ€” ๋ฆฌ๋ˆ…์Šค ์„œ๋น„์Šค ๊ด€๋ฆฌ ๋„๊ตฌ (์‹œ์ž‘, ์ค‘์ง€, ์žฌ์‹œ์ž‘ ๋“ฑ)
2.
nginx โ€” Nginx ์ž์ฒด ๋ช…๋ น์–ด (์„ค์ • ํ…Œ์ŠคํŠธ, ์‹œ๊ทธ๋„ ์ „์†ก ๋“ฑ)
๋‘˜ ๋‹ค ์•Œ์•„๋‘๋ฉด ์ข‹์ง€๋งŒ, ์‹ค๋ฌด์—์„œ๋Š” systemctl์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ด์š”!

Nginx ์„œ๋น„์Šค ๋ผ์ดํ”„์‚ฌ์ดํด

mermaid

systemctl ๋ช…๋ น์–ด (์„œ๋น„์Šค ๊ด€๋ฆฌ)

๋ช…๋ น์–ด
๋™์ž‘
์—ฐ๊ฒฐ ๋Š๊น€
์‚ฌ์šฉ ์‹œ์ 
sudo systemctl start nginx
Nginx ์‹œ์ž‘
-
์ตœ์ดˆ ์‹œ์ž‘, stop ํ›„ ์žฌ์‹œ์ž‘
sudo systemctl stop nginx
Nginx ์ค‘์ง€
๋ชจ๋“  ์—ฐ๊ฒฐ ๋Š๊น€
์„œ๋ฒ„ ์ ๊ฒ€, Nginx ์ œ๊ฑฐ ์‹œ
sudo systemctl restart nginx
์ค‘์ง€ ํ›„ ์žฌ์‹œ์ž‘
์ˆœ๊ฐ„ ๋Š๊น€
SSL ์ธ์ฆ์„œ ๊ต์ฒด, ํฐ ์„ค์ • ๋ณ€๊ฒฝ
sudo systemctl reload nginx
์„ค์ •๋งŒ ์žฌ์ ์šฉ
๋Š๊น€ ์—†์Œ
์„ค์ • ๋ณ€๊ฒฝ ํ›„ ์ ์šฉ (๊ฐ€์žฅ ์ถ”์ฒœ!)
sudo systemctl status nginx
์ƒํƒœ ํ™•์ธ
-
๋ฌธ์ œ ์ง„๋‹จ, ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง
sudo systemctl enable nginx
๋ถ€ํŒ… ์‹œ ์ž๋™ ์‹œ์ž‘
-
์ตœ์ดˆ ์„ค์ • ์‹œ 1ํšŒ
sudo systemctl disable nginx
์ž๋™ ์‹œ์ž‘ ํ•ด์ œ
-
์ž๋™ ์‹œ์ž‘ ๋ถˆํ•„์š” ์‹œ

reload vs restart ์ฐจ์ด

graph TD
    subgraph "restart (์žฌ์‹œ์ž‘)"
        A1[Nginx ์ค‘์ง€ ๐Ÿ”ด] --> A2[์„ค์ • ํŒŒ์ผ ๋‹ค์‹œ ์ฝ๊ธฐ] --> A3[Nginx ์‹œ์ž‘ ๐ŸŸข]
        A4["โš ๏ธ ์ˆœ๊ฐ„์ ์œผ๋กœ ์„œ๋น„์Šค ์ค‘๋‹จ"]
    end

    subgraph "reload (์žฌ์ ์šฉ)"
        B1[์ƒˆ ์›Œ์ปค ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๐ŸŸข] --> B2[์ƒˆ ์„ค์ • ์ ์šฉ]
        B3[๊ธฐ์กด ์›Œ์ปค๋Š” ํ˜„์žฌ ์š”์ฒญ<br/>์ฒ˜๋ฆฌ ํ›„ ์ข…๋ฃŒ ๐ŸŸก]
        B4["โœ… ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์Œ!"]
    end
Mermaid
๋ณต์‚ฌ
์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” reload๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”! restart๋Š” ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ๋Š์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฑฐ๋ผ, ์‹ค์„œ๋น„์Šค์—์„œ๋Š” reload๊ฐ€ ํ›จ์”ฌ ์•ˆ์ „ํ•ด์š”. ํ˜„์žฌ ์ฒ˜๋ฆฌ ์ค‘์ธ ์š”์ฒญ์„ ๋๊นŒ์ง€ ์ฒ˜๋ฆฌํ•œ ๋‹ค์Œ์— ์ƒˆ ์„ค์ •์„ ์ ์šฉํ•˜๊ฑฐ๋“ ์š”.

nginx ๋ช…๋ น์–ด (์ง์ ‘ ์ œ์–ด)

๋ช…๋ น์–ด
๋™์ž‘
์„ค๋ช…
sudo nginx
Nginx ์‹œ์ž‘
systemctl start์™€ ์œ ์‚ฌ
sudo nginx -s stop
์ฆ‰์‹œ ์ค‘์ง€
๊ฐ•์ œ ์ข…๋ฃŒ (SIGTERM)
sudo nginx -s quit
์ •์ƒ ์ข…๋ฃŒ
ํ˜„์žฌ ์š”์ฒญ ์ฒ˜๋ฆฌ ํ›„ ์ข…๋ฃŒ (SIGQUIT)
sudo nginx -s reload
์„ค์ • ์žฌ์ ์šฉ
systemctl reload์™€ ๋™์ผ
sudo nginx -s reopen
๋กœ๊ทธ ํŒŒ์ผ ์žฌ์—ด๊ธฐ
๋กœ๊ทธ ๋กœํ…Œ์ด์…˜ ํ›„ ์‚ฌ์šฉ
sudo nginx -t
์„ค์ • ํ…Œ์ŠคํŠธ
๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ (ํ•„์ˆ˜!)
sudo nginx -T
์„ค์ • ์ถœ๋ ฅ + ํ…Œ์ŠคํŠธ
์ „์ฒด ์„ค์ •์„ ํ™”๋ฉด์— ์ถœ๋ ฅ
nginx -v
๋ฒ„์ „ ํ™•์ธ
๊ฐ„๋‹จํ•œ ๋ฒ„์ „ ์ •๋ณด
nginx -V
์ƒ์„ธ ์ •๋ณด
์ปดํŒŒ์ผ ์˜ต์…˜, ๋ชจ๋“ˆ ๋ชฉ๋ก ๋“ฑ

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ช…๋ น์–ด: ์„ค์ • ํ…Œ์ŠคํŠธ

# ์„ค์ • ํŒŒ์ผ ๋ฌธ๋ฒ• ๊ฒ€์‚ฌ sudo nginx -t
Bash
๋ณต์‚ฌ
์„ฑ๊ณต ์‹œ:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Plain Text
๋ณต์‚ฌ
์‹คํŒจ ์‹œ:
nginx: [emerg] unknown directive "sevrer" in /etc/nginx/sites-enabled/default:2 nginx: configuration file /etc/nginx/nginx.conf test failed
Plain Text
๋ณต์‚ฌ
์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ํ›„ reload/restart ํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ nginx -t๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”! ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ์ƒํƒœ์—์„œ reloadํ•˜๋ฉด Nginx๊ฐ€ ์ฃฝ์„ ์ˆ˜ ์žˆ์–ด์š”. ์ด ํ•œ ์ค„์ด ์„œ๋น„์Šค ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉํ•ด์ค๋‹ˆ๋‹ค!

์‹ค๋ฌด ์›Œํฌํ”Œ๋กœ์šฐ

flowchart TD
    A[๐Ÿ“ ์„ค์ • ํŒŒ์ผ ์ˆ˜์ •] --> B["๐Ÿงช sudo nginx -t<br/>(์„ค์ • ํ…Œ์ŠคํŠธ)"]
    B -->|โœ… ์„ฑ๊ณต| C["๐Ÿ”„ sudo systemctl reload nginx<br/>(๋ฌด์ค‘๋‹จ ์ ์šฉ)"]
    B -->|โŒ ์‹คํŒจ| D["๐Ÿ” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํ™•์ธ<br/>์„ค์ • ํŒŒ์ผ ์ˆ˜์ •"]
    D --> A
    C --> E["โœ… ์ ์šฉ ์™„๋ฃŒ!<br/>curl๋กœ ํ™•์ธ"]

    style B fill:#FFD700
    style C fill:#90EE90
    style D fill:#FFB3B3
Mermaid
๋ณต์‚ฌ
์ด ์ˆœ์„œ๋ฅผ ๊ผญ ๊ธฐ์–ตํ•˜์„ธ์š”: ์ˆ˜์ • โ†’ ํ…Œ์ŠคํŠธ โ†’ ์ ์šฉ. ์ด ์„ธ ๋‹จ๊ณ„๋ฅผ ์Šต๊ด€์œผ๋กœ ๋งŒ๋“ค๋ฉด ์ ˆ๋Œ€ ์„ค์ • ์‹ค์ˆ˜๋กœ ์„œ๋น„์Šค๊ฐ€ ์ฃฝ๋Š” ์ผ์ด ์—†์–ด์š”!
# 1. ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ sudo nano /etc/nginx/sites-available/mysite # 2. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ (์ตœ์ดˆ 1ํšŒ) sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/ # 3. ์„ค์ • ๊ฒ€์‚ฌ sudo nginx -t # 4. ์ ์šฉ sudo systemctl reload nginx
Bash
๋ณต์‚ฌ

ํ”„๋กœ์„ธ์Šค ๊ตฌ์กฐ ํ™•์ธ

graph TD
    A["Master Process<br/>(root ๊ถŒํ•œ)<br/>PID 1234"] --> B["Worker Process 1<br/>(www-data)"]
    A --> C["Worker Process 2<br/>(www-data)"]
    A --> D["Worker Process 3<br/>(www-data)"]
    A --> E["Worker Process 4<br/>(www-data)"]

    style A fill:#FFD700
    style B fill:#90EE90
    style C fill:#90EE90
    style D fill:#90EE90
    style E fill:#90EE90
Mermaid
๋ณต์‚ฌ
# Nginx ํ”„๋กœ์„ธ์Šค ํ™•์ธ ps aux | grep nginx # ์ถœ๋ ฅ ์˜ˆ์‹œ: # root 1234 ... nginx: master process /usr/sbin/nginx # www-data 1235 ... nginx: worker process # www-data 1236 ... nginx: worker process
Bash
๋ณต์‚ฌ
ํ”„๋กœ์„ธ์Šค
๊ถŒํ•œ
์—ญํ• 
Master
root
์„ค์ • ์ฝ๊ธฐ, ์›Œ์ปค ๊ด€๋ฆฌ, ํฌํŠธ ๋ฐ”์ธ๋”ฉ
Worker
www-data
์‹ค์ œ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์ฒ˜๋ฆฌ
Master ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ด€๋ฆฌ์ž ์—ญํ• ์ด๊ณ , Worker ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹ค์ œ๋กœ ์ผํ•˜๋Š” ์ง์›์ด์—์š”. reload ํ•˜๋ฉด Master๊ฐ€ ์ƒˆ๋กœ์šด Worker๋ฅผ ๋งŒ๋“ค๊ณ , ๊ธฐ์กด Worker๋Š” ํ•˜๋˜ ์ผ์„ ๋งˆ์น˜๊ณ  ํ‡ด๊ทผํ•ด์š”!

ํ•ต์‹ฌ ์ •๋ฆฌ

์„œ๋น„์Šค ๊ด€๋ฆฌ: systemctl start|stop|restart|reload|status nginx
์„ค์ • ๋ณ€๊ฒฝ ํ›„: ๋ฐ˜๋“œ์‹œ sudo nginx -t โ†’ sudo systemctl reload nginx
reload = ๋ฌด์ค‘๋‹จ ์„ค์ • ์ ์šฉ (์‹ค์„œ๋น„์Šค์—์„œ ํ•„์ˆ˜!)
restart = ์™„์ „ ์ค‘์ง€ ํ›„ ์žฌ์‹œ์ž‘ (์ˆœ๊ฐ„ ์„œ๋น„์Šค ์ค‘๋‹จ)
nginx -t = ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ช…๋ น์–ด! ์„ค์ • ํ…Œ์ŠคํŠธ ํ•„์ˆ˜!