์ง๋ ์๊ฐ ์ฐ๋ฆฌ๋ EC2 ์ธ์คํด์ค์ nginx๋ฅผ ์ฌ๋ ค ๊ฐ๋จํ ํธ์คํ ํด๋ณด๊ธฐ๋ฅผ ํตํด Nginx ํจํค์ง๋ฅผ ์ค์นํ๊ณ ์คํ์์ผ๋ณด์๋ค.
ํ์ง๋ง ๊ทธ ๊ณผ์ ์์ ๋ง๋ nginx.conf ํ์ผ๊ณผ 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 ํ๊ฒฝ์ค์ ํ์ผ
์ด์ nginx.conf ํ์ผ์ ์ข ๋ ๊น๊ฒ ์์๋ณด์.
nginx.conf
ํ์ผ์ ๋ํด์
์ฐ์ nginx.conf ํ์ผ์ด ๋ญ์ง ๊ถ๊ธํ๋ ๋ฆฌ๋
์ค์ cat
๋ช
๋ น์ด๋ก nginx.conf ํ์ผ์ ์ด์ด๋ณด์.
> $ sudo cat nginx.conf
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋์จ๋ค.
๋ญ๊ฐ ์ธ๊ณ์ด๊ฐ ๋์๋ค.
๊ฒ๋จน์ง ๋ง๊ณ ๊ฐ๋ ๋ถํฐ ์์๋ณด์.
nginx.conf
ํ์ผ์ ๊ตฌ์ฑ๊ณผ ๋๋ ํฐ๋ธ
nginx.conf ํ์ผ์ ๊ตฌ์ฑ์ ๋๋ ํฐ๋ธ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ด๋ฐ ๋๋ ํฐ๋ธ๋ค์ ๋ธ๋ก๊ณผ ์ปจํ
์ธ ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ Directive = Block + Countext
๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๋ค.
๋๋ ํฐ๋ธ๋ฅผ ๋๋ด๋ ๋ฐฉ๋ฒ
- ์ธ๋ฏธ์ฝ๋ก
- ์ค๊ดํธ ๋ธ๋ก
nginx.conf ์์ ์ฃผ์
#
๊ทธ๋ผ ์ด์ nginx.conf ํ์ผ์ ๋๋ ์ ์๋ ๋ฅ๋ ฅ์ด ์๊ฒผ๋ค.
๋๋ ํฐ๋ธ๋ค๋ก ๋๋ ๋ณด์.
nginx.conf
์์ ์ต์ด์ ๋๋ ํฐ๋ธ์ ๋ธ๋ก
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
. . .
}
http {
. . .
}
์ด๋ nginx.conf ํ์ผ์ ์๋ ๋๋ ํฐ๋ธ์ ๋ธ๋ก์ด๋ค.
nginx.conf
์์ ์ต์ด์ ๋๋ ํฐ๋ธ์ ๋ธ๋ก์ ๋๋๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋๋ ํฐ๋ธ
์ต์ด ๋๋ ํฐ๋ธ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์๋๋ค.
- user
- worker_processes
- error_log
- pid
์๋ค์ ์ด๋ค ํน์ ๋ธ๋ก์ด๋ ์ปจํ ์คํธ์ ํฌํจ๋์ง ์๋ ๋ฉ์ธ ์ปจํ ์คํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
user์ด๊ฒ root๋ก ์ง์ ๋์ด์์ผ๋ฉด ์์ปค ํ๋ก์ธ์๊ฐ root๋ก ๋์ํ๊ฒ ํ๊ณ ์ฌ์ฉ์๊ฐ ์์ปค ํ๋ก์ธ์ค๋ฅผ ์
์์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ด์ ๋ณด์์ ์ํํ๋ค.
worker_process
์์ปค ํ๋ก์ธ์ค๋ฅผ ๋ช ๊ฐ๋ฅผ ์์ฑํ ๊ฒ์ธ์ง ์ง์ ํ๋ค.
worker_connections
์ด๋ฒคํธ ์์์ ์ฌ์ฉํ๋ ์ง์์ด์ธ๋ฐ ๋์์ ์ ์์ ์ผ๋ง๋ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง ์ง์ ํ๋ ๊ฐ์ผ๋ก worker_process๊ฐ 4๊ณ worker_connections๊ฐ 1024๋ฉด 4 * 1024๋ก 4096์ ์ปค๋ฅ์ ์ ์ฒ๋ฆฌํ ์ ์๋ค.
๋ธ๋ก
๋ฉ์ธ ์ปจํ ์คํธ์ ๋ณ๊ฐ๋ก ์ถ๊ฐ์ ์ธ ๋๋ ํฐ๋ธ๋ก๋ ์๋์ ๊ฐ์ ๋ธ๋ก์ด ์๋ฐ.
- events {}
- http {}
Http ๋ธ๋ก
http ๋ธ๋ก์ ์น ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ๋๋ ํฐํ๋ธ์ ๋ด๊ณ ์์ผ๋ฉด์ Universal๋ธ๋ก์ด๋ผ๊ณ ๋ ํ๋๋ผ.
๊ทธ๋ฆฌ๊ณ http ๋ธ๋ก์์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋๋ ํฐ๋ธ๋ค์ nginx ๋ฌธ์์์ ๋ณผ ์ ์๋ค.
Server ๋ธ๋ก
ํ๋์ ์น ์ฌ์ดํธ๋ฅผ ์ ์ธํ๋๋ฐ ์ฌ์ฉ๋๊ณ , ๊ฐ์ ํธ์คํ ์ ๊ฐ๋ ์ด๊ณ ํ๋์ ์๋ฒ๋ก ๋ ๊ฐ๋ฅผ ๋์์ ์ด์ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
location ๋ธ๋ก
server ๋ธ๋ก ์์์ ๋์ค๋ฉด์ ํน์ url์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
์๋ฅผ ๋ค์ด์ http://localhost:80/login
๊ณผ http://localhost:80/join
์ผ๋ก ์ ๊ทผ์ ๋ค๋ฅด๊ฒ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ๋๋๋ฐ ์ด๋ ๋ก๋๋ฐธ๋ฐ์ฑ์์๋ ๋์ค๋ ์ฃผ์๊น๊ฒ ๋ด๋์.
events ๋ธ๋ก
์ฃผ๋ก ๋คํธ์ํฌ์ ๋์ ๋ฐฉ๋ฒ๊ณผ ๊ด๋ จ๋ ์ค์ ๊ฐ๋ค์ ๊ฐ๋๋ค.
๋๊ธ