๊ธฐ๋ฅ ์์ฒญ์ด ๋ฌธ์ ์ ๊ด๋ จ๋์ด ์์ต๋๊น?
๋ค๋ฅธ nginx http conf ํ์ผ์์ ๊ณตํต ๊ตฌ์ฑ์ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑ ํ์ผ์ด ํฌํจ๋ snippets
๋๋ ํ ๋ฆฌ๋ฅผ ์
๋ก๋ํ ์ ์์ผ๋ฉด ์ ๋ง ํธ๋ฆฌํ ๊ฒ์
๋๋ค. ๋ด๊ฐ ํ๋ฆฌ์ง ์์๋ค๋ฉด ์ด๊ฒ์ด ํ์ฌ ์ด ํ๋ฌ๊ทธ์ธ์์ (๋ช
์์ ์ผ๋ก) ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
๊ณ ๋ คํ ๋์์ ๊ธฐ์ ํ์ญ์์ค
nginx_main_upload_src
๋ฐ nginx_http_upload_src
์ฌ์ฉํด ๋ณด์์ง๋ง ์ด ๊ฒฝ์ฐ ๋ ๋ค ์๋ํ์ง ์์ต๋๋ค. nginx_main_upload_src
๋ ํ์ผ์ ์์ํ๊ณ nginx_http_upload_src
๋ fileglob
์ฌ์ฉํ์ฌ ์ฌ๊ท ๋ณต์ฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
๋ถ๋ช ํ ๋ณ๋์ ์ญํ ๋ก ์ด ์์ ์ ์ํํ ์ ์์ง๋ง ๋ชจ๋ nginx ๊ตฌ์ฑ์ ๋์ผํ ์ญํ ์์ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ํ๋ ์๋ฃจ์
์ค๋ช
ํ ๊ฐ์ง ์๋ฃจ์
์ nginx_http_upload_enable
์ ๊ฐ์ ๊ธฐ์กด ์
๋ก๋ ๋ณ์ ์ต์
์ ์๋ฎฌ๋ ์ดํธํ๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด, vars: nginx_snippets_upload_enable
๋ฟ๋ง ์๋๋ผ src
๋ฐ dest
๋์ํ๋ ๊ฒ๋ ์ข์ ๊ฒ์
๋๋ค.
์ด ์๋ฃจ์
์ด snippets
๋๋ฌด ํ์ ์ ์ด๋ผ๊ณ ์๊ฐ๋๋ฉด ๋ก์ปฌ ํ์ผ์ ์๊ฒฉ nginx ๋๋ ํ ๋ฆฌ์ ๋ฃจํธ์ ๋ณต์ฌํ๋ ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ด Ansible nginx ํ๋ฌ๊ทธ์ธ์์ ์ํ๋๋ ์ผ์ข
์ ๋ฐฉ๋ฒ์
๋๋ค. https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates
๋๋ http config ๋๋ ํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์
๋ก๋ํ ์ ์๋๋ก ํ๋ ๊ฒ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ๋ ์ ์์ต๋๋ค. ํ์ง๋ง snippets
๊ฐ ์ฌ์ค์ nginx ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ์ผ์นํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ ์ด๊ฒ์ ์ข์ํ์ง ์์ต๋๋ค. ๋ฃจํธ์ ์์ต๋๋ค.
๊ฐ์ฌ ํด์!
ํฅ๋ฏธ๋ก์ด ์ ์ @asabhaney! ์ด ์์ ์ด ์ธ์ /์คํ๋ ์ง ์ฝ์ํ ์๋ ์์ง๋ง(ํ์ฌ ๋ฐฑ๋ก๊ทธ์ ๋ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ช ๊ฐ์ง ๋ค๋ฅธ ์์ ์ด ์์ต๋๋ค) ์ํ๋ ๊ฒฝ์ฐ ์์ ๋กญ๊ฒ PR์ ์ ์ถํ์ธ์ ๐
์ด๋ด ๋!
๊ณต์ ํด ์ฃผ์ ์ ์๋ ํ๋ฌ๊ทธ์ธ์ ๋ณด๊ณ ์์ผ๋ฉฐ ์ด์ ๋ํด ๋ช ๊ฐ์ง ์๊ฐ์ด ์์ต๋๋ค.
nginx_http_upload_*
์ฌ์ฉํ์ฌ ๋ณต์ ํ ์ ์์ง๋ง ๊ตฌ์ฑ ๋ฐ ์ค๋ํซ ํ์ผ์ ๋ชจ๋ ๋ค๋ฅธ ๋์ ํด๋์ ์
๋ก๋ํ๋ ค๋ ๊ฒฝ์ฐ nginx_http_upload_*
ํ๋ฉด ํ๋์ ์์ค๋ง ์ ํํ๊ณ ํ๋ฒ์ ๋ชฉ์ ์ง.snippets
๊ฐ๋
์ด ์์ต๋๋ค. ๋งํฌํด์ฃผ์ ํ๋ฌ๊ทธ์ธ์ ๋์
๋ ๊ฐ๋
์
๋๋ค. ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ์๋์ง๋ง ๋ฐ๋์ ๊ถ์ฅ๋๋ ํด๋ ๊ตฌ์กฐ๋ ์๋๋๋ค.nginx_http_upload_*
๋ฅผ ๋ณต์ ํ์ฌ nginx_snippets_upload_*
๋ณ์๋ฅผ ๋ง๋๋ ๊ฒ์ ์ถฉ๋ถํ ์ฌ์์ผ ํฉ๋๋ค. ๋ ๋์ ์ง๋ฌธ์ nginx_*_upload_*
๋ฅผ ์ฌ์ฉํ ๋ ์ฌ์ฉ์๊ฐ ๋ชฉ๋ก์ ์ฌ์ฉํ๋๋ก ํ๊ณ ์
๋ก๋ ๊ด๋ จ ๋ณ์์ ์ ์ฒด ์๋ฆฌ์ฆ๋ฅผ ๋จ์ํํ๋ ๊ฒ์ด ๋ ํฉ๋ฆฌ์ ์ธ์ง ์ฌ๋ถ์
๋๋ค.
@alessfg๋ , ์๊ฐ์ ๋ด์ด snippets
๋ํ ์ฌ์ค์์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ์ฐธ์กฐ๊ฐ ์๋ค๋ ๋ฐ ๋์ํฉ๋๋ค(Nginx์ ๋ฌธ์ ์ ์ฒด์ ํฉ์ด์ ธ ์๋ ๊ฒ์ ๋ณด์์ง๋ง). ๋๋ ๋ํ ๊ทธ๊ฒ์ ๋ํ ์ผ๋ จ์ vars( nginx_snippets_upload_*
)๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ๋๋ฌด ๊ตฌ์ฒด์ ์ด๊ณ ๋ถํ๋ ค์ง๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
๋ฃจํธ nginx ๋๋ ํ ๋ฆฌ์ ์ถ๊ฐ ํด๋/ํ์ผ์ ์
๋ก๋ํ ์ ์๋ ๊ฒ์ด ๋ ๋์ ์ผ๋ฐ์ ์ธ ์๋ฃจ์
์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. nginx_http_upload_*
์ ๊ฐ์ var ๊ต์ฒด๋ฅผ ํฌํจํด์ผ ํ๋์ง(์ญ๋ฐฉํฅ ๋ถ๋ฆฌ๋ ๋งํ ๊ฒ๋ ์๊ณ ) ๋๋ nginx_other_upload_*
์ ๊ฐ์ ํ์์ด์ด์ผ ๋ชฉ๋ก์ ๊ฐ์ ธ์ฌ ์ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
@asabhaney ๋ง์นจ๋ด #59์์ ์ค๋ํซ ์ง์์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์๊ฒ ๋์์ต๋๋ค.
FWIW, ํน์ ๋จ๊ณ์์ ๋ค๋ฅธ nginx_config_*_upload_*
๋ณ์์ ๋ํด ๊ตฌ์ฑ ํ์ผ ์
๋ก๋๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ค์ ๋ฐฉ๋ฌธํ ์ ์์ต๋๋ค(์ผ๋ถ ๋ณ์๋ฅผ ์ ๊ฑฐํ ์๋ ์์). (๊ทธ๋ฆฌ๊ณ ๋ด ์๊ฐ์๋ snippets ์ต์
์ด main/http/stream ๊ตฌ์ฑ ์
๋ก๋ ์์
์๋ ์ฌ์ฉ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค).
๊ฐ์ฌํฉ๋๋ค. ๋นจ๋ฆฌ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@asabhaney ๋ง์นจ๋ด #59์์ ์ค๋ํซ ์ง์์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์๊ฒ ๋์์ต๋๋ค.
FWIW, ํน์ ๋จ๊ณ์์ ๋ค๋ฅธ
nginx_config_*_upload_*
๋ณ์์ ๋ํด ๊ตฌ์ฑ ํ์ผ ์ ๋ก๋๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ค์ ๋ฐฉ๋ฌธํ ์ ์์ต๋๋ค(์ผ๋ถ ๋ณ์๋ฅผ ์ ๊ฑฐํ ์๋ ์์). (๊ทธ๋ฆฌ๊ณ ๋ด ์๊ฐ์๋ snippets ์ต์ ์ด main/http/stream ๊ตฌ์ฑ ์ ๋ก๋ ์์ ์๋ ์ฌ์ฉ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค).