Nginx ์ค์น
๊ฐ์
Nginx(์์ง์์ค)๋ ๊ฒฝ๋ ๊ณ ์ฑ๋ฅ ์น ์๋ฒ๋ก, Ubuntu์์ apt install nginx ํ ์ค๋ก ์ค์นํ ์ ์๋ค.
๋๋์ด Nginx๋ฅผ ์ง์ ์ค์นํด๋ณผ ์๊ฐ์ด์์! ์ด๋ก ์ ์ถฉ๋ถํ ๋ฐฐ์ ์ผ๋ ์ด์ ์์ผ๋ก ์ง์ ํด๋ด์ผ์ฃ . Nginx ์ค์น๋ ์ ๋ง ๊ฐ๋จํด์ โ ๋ฆฌ๋
์ค ํจํค์ง ๊ด๋ฆฌ์(apt)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช
๋ น์ด ๋ช ์ค์ด๋ฉด ๋์ด์์.
AWS EC2์ Ubuntu ์๋ฒ๋ฅผ ๋์ฐ๋ , ๋ก์ปฌ์ ๊ฐ์๋จธ์ ์ ์ค์นํ๋ , ๊ณผ์ ์ ๊ฑฐ์ ๋์ผํด์!
์ค์น ํ๊ฒฝ ์ํคํ
์ฒ
graph TD
A[๐ป ๋ด ์ปดํจํฐ] -->|SSH ์ ์| B[๐ฅ๏ธ Ubuntu ์๋ฒ]
B --> C[๐ฆ apt ํจํค์ง ๊ด๋ฆฌ์]
C -->|apt install nginx| D[โ๏ธ Nginx ์ค์น๋จ]
D --> E[๐ ํฌํธ 80์์ ๋๊ธฐ]
D --> F[๐ /etc/nginx/ ์ค์ ํ์ผ]
D --> G[๐ /var/www/html/ ์น ๋ฃจํธ]
D --> H[๐ /var/log/nginx/ ๋ก๊ทธ]
style D fill:#90EE90Mermaid
๋ณต์ฌ
์ค์น ๋จ๊ณ
Step 1: ํจํค์ง ๋ชฉ๋ก ์ ๋ฐ์ดํธ
sudo apt update
Bash
๋ณต์ฌ
์ค์น ์ ์ ํญ์ ํจํค์ง ๋ชฉ๋ก์ ์ต์ ํํด์ผ ํด์. ์ ํ๋ฉด ์๋ ๋ฒ์ ์ด ์ค์น๋ ์๋ ์๊ฑฐ๋ ์!
Step 2: Nginx ์ค์น
sudo apt install nginx -y
Bash
๋ณต์ฌ
โข
y ์ต์
์ "์ค์นํ ๊ฑฐ์ผ? (Y/N)" ์ง๋ฌธ์ ์๋์ผ๋ก "Y"๋ฅผ ์
๋ ฅํด์ฃผ๋ ๊ฑฐ์์.
Step 3: ์ค์น ํ์ธ
# Nginx ๋ฒ์ ํ์ธ
nginx -v
# ์ถ๋ ฅ ์์: nginx version: nginx/1.24.0 (Ubuntu)
Bash
๋ณต์ฌ
Step 4: Nginx ์์ ๋ฐ ์ํ ํ์ธ
# Nginx ์์
sudo systemctl start nginx
# ์ํ ํ์ธ
sudo systemctl status nginx
# ๋ถํ
์ ์๋ ์์ ์ค์
sudo systemctl enable nginx
Bash
๋ณต์ฌ
# ์ ์ฅ์ ์
๋ฐ์ดํธ
sudo apt update
# Nginx ์ค์น
sudo apt install -y nginx
# ์๋น์ค ์คํ ๋ฐ ๋ถํ
์ ์๋ ์์
sudo systemctl enable nginx
sudo systemctl start nginx
# ์ํ ํ์ธ
systemctl status nginx
Bash
๋ณต์ฌ
์ ์ฅ์ ์ ๋ฐ์ดํธ
sudo apt update
Bash
๋ณต์ฌ
Nginx ์ค์น
sudo apt install -y nginx
Bash
๋ณต์ฌ
์๋น์ค ์คํ ๋ฐ ๋ถํ ์ ์๋ ์์
sudo systemctl enable nginx
Bash
๋ณต์ฌ
sudo systemctl start nginx
Bash
๋ณต์ฌ
์ํ ํ์ธ
systemctl status nginx
Bash
๋ณต์ฌ
์ค์น ํ์ธ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ 1: systemctl๋ก ํ์ธ
sudo systemctl status nginx
Bash
๋ณต์ฌ
โ nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: active (running) โ โ
์ด๊ฒ ๋ณด์ด๋ฉด ์ฑ๊ณต!
Plain Text
๋ณต์ฌ
๋ฐฉ๋ฒ 2: curl๋ก ํ์ธ
curl <http://localhost>
Bash
๋ณต์ฌ
"Welcome to nginx!" ํ์ด์ง๊ฐ ๋ณด์ด๋ฉด ์ฑ๊ณต์ด์์!
๋ฐฉ๋ฒ 3: ๋ธ๋ผ์ฐ์ ๋ก ํ์ธ
๋ธ๋ผ์ฐ์ ์์ http://์๋ฒIP์ฃผ์ ์
๋ ฅ โ Nginx ๊ธฐ๋ณธ ํ์ ํ์ด์ง๊ฐ ๋ณด์ด๋ฉด ์ฑ๊ณต!
์ค์น ํ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
graph TD
A["Nginx ์ค์น ํ<br/>์ฃผ์ ๊ฒฝ๋ก"] --> B["/etc/nginx/<br/>โ๏ธ ์ค์ ํ์ผ"]
A --> C["/var/www/html/<br/>๐ ์น ๋ฃจํธ (๊ธฐ๋ณธ)"]
A --> D["/var/log/nginx/<br/>๐ ๋ก๊ทธ"]
A --> E["/usr/sbin/nginx<br/>๐ง ์คํ ํ์ผ"]
B --> B1["nginx.conf<br/>๋ฉ์ธ ์ค์ โญ"]
B --> B2["sites-available/<br/>์ฌ์ดํธ ์ค์ ๋ณด๊ด"]
B --> B3["sites-enabled/<br/>ํ์ฑํ๋ ์ฌ์ดํธ โญ"]
B --> B4["conf.d/<br/>์ถ๊ฐ ์ค์ "]
D --> D1["access.log<br/>์ ๊ทผ ๋ก๊ทธ"]
D --> D2["error.log<br/>์๋ฌ ๋ก๊ทธ"]
style B1 fill:#FFD700
style B3 fill:#FFD700Mermaid
๋ณต์ฌ
๊ฒฝ๋ก | ์ฉ๋ | ์ค์๋ |
/etc/nginx/nginx.conf | ๋ฉ์ธ ์ค์ ํ์ผ | |
/etc/nginx/sites-available/ | ์ฌ์ดํธ๋ณ ์ค์ ํ์ผ ๋ณด๊ด์ | |
/etc/nginx/sites-enabled/ | ์ค์ ํ์ฑํ๋ ์ฌ์ดํธ ์ค์ (์ฌ๋ณผ๋ฆญ ๋งํฌ) | |
/etc/nginx/conf.d/ | ์ถ๊ฐ ์ค์ ํ์ผ ๋๋ ํ ๋ฆฌ | |
/var/www/html/ | ๊ธฐ๋ณธ ์น ๋ฃจํธ ๋๋ ํ ๋ฆฌ | |
/var/log/nginx/access.log | ์ ๊ทผ ๋ก๊ทธ | |
/var/log/nginx/error.log | ์๋ฌ ๋ก๊ทธ | |
/usr/sbin/nginx | Nginx ์คํ ๋ฐ์ด๋๋ฆฌ |
sites-available vs sites-enabled
graph LR
A["sites-available/<br/>๐ฆ ๋ชจ๋ ์ฌ์ดํธ ์ค์ "] -->|"์ฌ๋ณผ๋ฆญ ๋งํฌ<br/>ln -s"| B["sites-enabled/<br/>โ
ํ์ฑํ๋ ์ค์ ๋ง"]
B --> C["Nginx๊ฐ ์ด ํด๋๋ง<br/>์ฝ์ด์ ์ ์ฉ"]
style A fill:#87CEEB
style B fill:#90EE90Mermaid
๋ณต์ฌ
sites-available์๋ ์ค์ ํ์ผ์ ๋ณด๊ดํ๊ณ , sites-enabled์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ง๋ค์ด ํ์ฑํํด์. ์ฌ์ดํธ๋ฅผ ์ ์ ๋นํ์ฑํํ๊ณ ์ถ์ผ๋ฉด ๋งํฌ๋ง ์ญ์ ํ๋ฉด ๋๋๊น, ์ค์ ํ์ผ์ ์ง์ธ ํ์๊ฐ ์์ด์ ํธํด์!
# ์ฌ์ดํธ ์ค์ ํ์ฑํ
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
# ์ฌ์ดํธ ๋นํ์ฑํ
sudo rm /etc/nginx/sites-enabled/mysite
Bash
๋ณต์ฌ
์ฌ๋ณผ๋ฆญ ๋งํฌ(soft link)
์ค์ ํ์ผ์ด๋ ํด๋๋ฅผ ๋ณต์ฌํ์ง ์๊ณ , ๋ค๋ฅธ ๊ฒฝ๋ก์ ๋์์ ๊ฐ๋ฆฌํค๋ โ๋ฐ๋ก๊ฐ๊ธฐโ ๊ฐ์ ๋งํฌ ํ์ผ์ด์์.
๋ฐฉํ๋ฒฝ ์ค์ (UFW)
Nginx๋ฅผ ์ค์นํ๋ฉด UFW(๋ฐฉํ๋ฒฝ)์ ์๋์ผ๋ก ํ๋กํ์ด ๋ฑ๋ก๋ผ์.
# Nginx ๋ฐฉํ๋ฒฝ ํ๋กํ ํ์ธ
sudo ufw app list
Bash
๋ณต์ฌ
ํ๋กํ | ํ์ฉ ํฌํธ | ์ฉ๋ |
Nginx HTTP | 80 | HTTP๋ง |
Nginx HTTPS | 443 | HTTPS๋ง |
Nginx Full | 80 + 443 | HTTP + HTTPS ๋ชจ๋ |
# HTTP + HTTPS ๋ชจ๋ ํ์ฉ (๊ฐ์ฅ ์ถ์ฒ)
sudo ufw allow 'Nginx Full'
# ๋ฐฉํ๋ฒฝ ์ํ ํ์ธ
sudo ufw status
Bash
๋ณต์ฌ
์ค์น ๋ฐฉ๋ฒ๋ณ ๋น๊ต
๋ฐฉ๋ฒ | ๋ช
๋ น์ด | ๋ฒ์ | ์ฅ์ | ๋จ์ |
apt (๊ธฐ๋ณธ ์ ์ฅ์) | apt install nginx | ์์ ๋ฒ์ | ๊ฐํธ, ์๋ ์
๋ฐ์ดํธ | ์ต์ ๋ฒ์ ์ด ์๋ ์ ์์ |
Nginx ๊ณต์ ์ ์ฅ์ | PPA ์ถ๊ฐ ํ ์ค์น | ์ต์ ์์ ๋ฒ์ | ๋ ์ต์ | ์ค์ ์ฝ๊ฐ ๋ณต์ก |
์์ค ์ปดํ์ผ | ./configure && make | ์ํ๋ ๋ฒ์ | ๋ชจ๋ ์ปค์คํ
๊ฐ๋ฅ | ๋ณต์ก, ์๋ ๊ด๋ฆฌ ํ์ |
Docker | docker run nginx | ์ํ๋ ๋ฒ์ | ๊ฒฉ๋ฆฌ, ์ด์์ฑ | Docker ์ง์ ํ์ |
์ฒ์์๋ apt ๊ธฐ๋ณธ ์ค์น๋ก ์ถฉ๋ถํด์! ํน๋ณํ ๋ชจ๋์ด ํ์ํ๊ฑฐ๋ ์ต์ ๊ธฐ๋ฅ์ด ํ์ํ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ๋ฉด ๋ผ์.
์ค์น ํ ์ฒดํฌ๋ฆฌ์คํธ
์์ | ํ์ธ ์ฌํญ | ๋ช
๋ น์ด | ๊ธฐ๋ ๊ฒฐ๊ณผ |
1 | Nginx ๋ฒ์ ํ์ธ | nginx -v | ๋ฒ์ ๋ฒํธ ์ถ๋ ฅ |
2 | ์๋น์ค ์ํ ํ์ธ | systemctl status nginx | active (running) |
3 | ํฌํธ 80 ๋ฆฌ์จ ํ์ธ | ss -tlnp \| grep 80 | Nginx๊ฐ 80ํฌํธ์์ ๋๊ธฐ |
4 | ๋ฐฉํ๋ฒฝ ํ์ธ | sudo ufw status | 80/443 ํ์ฉ |
5 | ๋ก์ปฌ ์ ์ ํ
์คํธ | curl <http://localhost> | HTML ์๋ต |
6 | ์ธ๋ถ ์ ์ ํ
์คํธ | ๋ธ๋ผ์ฐ์ ์์ ์๋ฒIP ์
๋ ฅ | ํ์ ํ์ด์ง |
ํต์ฌ ์ ๋ฆฌ
์ค์น: sudo apt update && sudo apt install nginx
์์: sudo systemctl start nginx, ์๋ ์์: sudo systemctl enable nginx
์ค์ ํ์ผ:
/etc/nginx/nginx.conf (๋ฉ์ธ),
/etc/nginx/sites-enabled/ (์ฌ์ดํธ๋ณ)
์น ๋ฃจํธ: /var/www/html/, ๋ก๊ทธ: /var/log/nginx/
๋ฐฉํ๋ฒฝ: sudo ufw allow 'Nginx Full' (80+443 ํฌํธ ํ์ฉ)








