์ง๋ ์๊ฐ ์ฐ๋ฆฌ๋ ์ Nginx ์ด์ด์ผ ํ๋๊ฐ?์ ๋ํด์ ์์๋ณด์๋ค.
์ด์ ์ค์ ๋ก Nginx๋ฅผ ์ฐ๋ฆฌ์ EC2 ์ธ์คํด์ค์ ์ค์นํด์ ๋์ํ๋์ง ํ์ธํด๋ณด์.
์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- EC2 ์ธ์คํด์ค ์์ฑ
- EC2 ์ธ์คํด์ค ์ ์ (ssh ์ ์)
- ์์กด์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- ๋ฐ์ด๋๋ฆฌ ํจํค์ง ์ค์น
- ์๋น์ค ๋ฑ๋ก ๋ฐ ํ์ธ
- 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
๋ช
๋ น์ด๋ฅผ ํตํด์๋ ํ๋ก์ธ์ค๋ฅผ ํ์ธํ ์ ์์ผ๋ ์ฐธ๊ณ ํ์.
์ถ๊ฐ์ ์ผ๋ก
๋ฆฌ๋ ์ค์ 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
๋ช ๋ น์ด๋ก ํ์ธํด๋ณด์.
๊ทธ๋ผ ์์ ๊ฐ์ด ์ถ๋ ฅ๋๋๋ฐ, ๊ฐ๊ฐ์ ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ํ๋ค.
- nginx.conf : ๋ฉ์ธ ์ค์ ํ์ผ
- fcgi.conf : Fast CGI ํ๊ฒฝ์ค์ ํ์ผ
- sites-enabled : ํ์ฑํ๋ ์ฌ์ดํธ๋ค์ ์ค์ ํ์ผ ์์น
- sites-available : ๋นํ์ฑํ๋ ์ฌ์ดํธ๋ค์ ์ค์ ํ์ผ ์์น
์ด์ ๋ค์ ์๊ฐ๋ถํฐ ํด๋น ํ์ผ๋ค์ ๋ค๋ค๋ณด๊ณ nginx.conf ํ์ผ์ ๋ ๊น๊ฒ ์ดํดํด๋ณด์.
๋๊ธ