๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐ŸŽ› Others.../- infra [linux, aws, docker, k8s]

[Nginx] Nginx ๋ฅผ EC2 ์ธ์Šคํ„ด์Šค์— ์„ค์น˜ํ•ด์„œ ํ˜ธ์ŠคํŒ… ๋ง›๋ณด๊ธฐ.

by Wonit 2020. 11. 29.

์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” ์™œ Nginx ์ด์–ด์•ผ ํ•˜๋Š”๊ฐ€?์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค.

 

์ด์ œ ์‹ค์ œ๋กœ Nginx๋ฅผ ์šฐ๋ฆฌ์˜ EC2 ์ธ์Šคํ„ด์Šค์— ์„ค์น˜ํ•ด์„œ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

 

์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  2. EC2 ์ธ์Šคํ„ด์Šค ์ ‘์† (ssh ์ ‘์†)
  3. ์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
  4. ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€ ์„ค์น˜
  5. ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ํ™•์ธ
  6. curl ํ…Œ์ŠคํŠธ

EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋จผ์ € EC์— ๋กœ๊ทธ์ธ์„ ํ•ด์ฃผ์ž.

๊ทธ๋ฆฌ๊ณ  EC2 ์ฝ˜์†”๋กœ ๊ฐ€์„œ ๋ฆฌ๋ˆ…์Šค IAM์„ ์„ ํƒํ•˜๊ณ  ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์ž

EC2 ์ธ์Šคํ„ด์Šค ์ ‘์† (ssh ์ ‘์†)

ssh ์ ‘์†์œผ๋กœ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ด์ค€๋‹ค.

์œ„์˜ IPv4๋กœ ssh ํ„ฐ๋ฏธ๋„ ์ ‘์†์„ ์ˆ˜ํ–‰ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ์„ ํ•ด๋ณด์ž.

์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

Nginx ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ์œ„ํ•ด ๋จผ์ € Nginx ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•œ ์˜จ๋ผ์ธ ์ €์žฅ์†Œ๋ฅผ ์ง€์ •ํ•œ๋‹ค.

 

์˜จ๋ผ์ธ ์ €์žฅ์†Œ ์ง€์ •์€ /etc/yum.repos.d/ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์™€ ๊ฐ™์ด nginx.repo ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

$ sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€ ์„ค์น˜

yum ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ Nginx ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ํ•œ๋‹ค.

 

ํ˜น์€ apt-get์ด๋‚˜ apt๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.

$ yum info nginx // yum ํŒจํ‚ค์ง€ ์ •๋ณด ํ™•์ธ ๋ช…๋ น์–ด

์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ํ™•์ธ

๋ฆฌ๋ˆ…์Šค์˜ ์„œ๋น„์Šค ๋ฐ๋ชฌ์— nginx ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋ก์‹œํ‚ค๊ณ  ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ดsystemd๋ฅผ ๋‹ค๋ฃจ๋Š” systemctl ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•ด๋ณด์ž.


์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‹œ์Šคํ…œ์„ ๋“ฑ๋ก, ์‹คํ–‰, ์ค‘์ง€๋ฅผ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.

  • ์„œ๋น„์Šค ๋“ฑ๋ก
  • ์‹คํ–‰
  • ์ค‘์ง€
> $ sudo systemctl enable nginx
> $ sudo systemctl start nginx
> $ sudo systemctl stop nginx

๋ช…๋ น์–ด๋กœ ์‹œ์Šคํ…œ ๋ฐ๋ชฌ์„ ๋“ฑ๋ก์‹œํ‚ค๊ธฐ ์œ„ํ•ด sudo systemctl start nginx ๋ช…๋ น์–ด๋กœ nginx์˜ ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์Šคํ…œ์— ๋“ฑ๋ก์‹œ์ผœ์ฃผ์ž.

 

๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์—†์ด ์ž˜ ๋งˆ์ณค๋‹ค๋ฉด, sudo systemctl status nginx ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด running ์œผ๋กœ ์ •์ƒ์ ์œผ๋กœ ์ž˜ Active ๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

ํ˜น์€ ps -ef | grep nginx ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์ž.

 

์ถ”๊ฐ€์ ์œผ๋กœ

https://www.lesstif.com/ws/์„œ๋น„์Šค-๊ด€๋ฆฌํ•˜๊ธฐ-43844026.html

๋ฆฌ๋ˆ…์Šค์˜ system daemon์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์—ฌ๊ธฐ์„œ ํ™•์ธํ•ด๋ณด์ž!

curl ํ…Œ์ŠคํŠธ

๋ช…๋ น์–ด๋กœ curl http://localhost๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ HTML ํŒŒ์ผ์ด ๋‚ด๋ ค์˜จ๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ํ˜ธ์ŠคํŒ…์—” ์„ฑ๊ณตํ•œ ๊ฒƒ์ด๋‹ค.

 

๋‹ค์Œ ์‹œ๊ฐ„๋ถ€ํ„ฐ ์ž์„ธํžˆ ์–ด๋–ค ์›๋ฆฌ๋กœ ํ˜ธ์ŠคํŒ…์ด ๋˜๋Š”์ง€ ์•Œ์•„๋ณผ ๊ฒƒ์ธ๋ฐ, ๊ทธ ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ nginx์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐ ํ•ด๋ณด์ž.

Nginx ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋ง›๋ณด๊ธฐ

์šฐ๋ฆฌ๋Š” nginx ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋œ ๋””๋ ‰ํ† ๋ฆฌ๊ณ  ๊ฐ€์•ผํ•œ๋‹ค.

 

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ๋ณธ ์„ค์ • ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผํ•œ๋‹ค.

 

๋งŒ์•ฝ ๋‹น์‹ ์ด ์œ„์—์„œ ํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ yum์ด๋‚˜ wget, apt-get์œผ๋กœ ๋‹ค์šด๋ฐ›์•˜๋‹ค๋ฉด ์šด์˜์ฒด์ œ์˜ ๊ณ„์—ด๋ณ„๋กœ ๋‹ค๋ฅธ ์œ„์น˜์— ์กด์žฌํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค.
ํ•˜์ง€๋ฉด ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋กœ ์ด ํŒŒ์ผ๋“ค์˜ ์œ„์น˜๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

> $ sudo find / -name nginx.conf

๊ทธ๋ฆฌ๊ณ  nginx.conf ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์–ด๋–ค ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

 

๋ฆฌ๋ˆ…์Šค์—์„œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํŠธ๋ฆฌํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” tree ํŒจํ‚ค์ง€๋ฅผ ์ธ์Šคํ†จํ•ด์•ผํ•œ๋‹ค.

> $ sudo yum install tree
> /etc/nginx$ sudo tree

๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ด๋ณด์ž.

๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ, ๊ฐ๊ฐ์˜ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.

  1. nginx.conf : ๋ฉ”์ธ ์„ค์ • ํŒŒ์ผ
  2. fcgi.conf : Fast CGI ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ
  3. sites-enabled : ํ™œ์„ฑํ™”๋œ ์‚ฌ์ดํŠธ๋“ค์˜ ์„ค์ •ํŒŒ์ผ ์œ„์น˜
  4. sites-available : ๋น„ํ™œ์„ฑํ™”๋œ ์‚ฌ์ดํŠธ๋“ค์˜ ์„ค์ •ํŒŒ์ผ ์œ„์น˜

์ด์ œ ๋‹ค์Œ ์‹œ๊ฐ„๋ถ€ํ„ฐ ํ•ด๋‹น ํŒŒ์ผ๋“ค์„ ๋‹ค๋ค„๋ณด๊ณ  nginx.conf ํŒŒ์ผ์„ ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•ด๋ณด์ž.

๋Œ“๊ธ€