[AWS] Nginx์ types_hash์๋ฌ
๋ฌธ์ ์ํฉ
AWS EC2์ Nginx๋ก ์๋ฒ๋ฅผ ๋ฐฐํฌํ๊ณ multipart/form-data๋ฅผ ์ ์กํ๋ฉด์ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
nginx: [warn] could not build optimal types_hash, you should increase either types_hash_max_size: 1024 or types_hash_bucket_size: 64; ignoring types_hash_bucket_size
์ด ์ค๋ฅ ๋ฉ์ธ์ง๋ Nginx๊ฐ types_hash๋ฅผ ์ต์ ์ผ๋ก ๊ตฌ์ฑํ์ง ๋ชปํ์์ ์๋ฏธํ๋ค.
types_hash๋ฅผ ์ต์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ ์ํด์๋ types_hash_max_size ๋๋ types_hash_bucket_size ์ค ํ๋๋ฅผ ๋๋ ค์ผ ํ๋ค๋ ์กฐ์ธ์ด๋ค.
๋ฌธ์ ์์ธ
typse_hash๋?
MIMEํ์ ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํ ํด์ ํ ์ด๋ธ์ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค.
MIME(Multipurpose Internet Extensions)ํ์ ์ ์ปดํจํฐ ํ์ผ์ ์ข ๋ฅ๋ ํ์์ ๋ํ๋ด๋ ๋ผ๋ฒจ์ด๋ ์๋ณ์์ด๋ค.
์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ผ์ ํ์์ ์ธ์ํ๊ณ , ํด๋น ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด, ํ ์คํธ ํ์ผ, ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค, ์์ถ ํ์ผ ๋ฑ ๋ชจ๋ ์ข ๋ฅ์ ํ์ผ์ MIMEํ์ ์ด ์ง์ ๋๋ค.
์น ์๋ฒ์์ ํด๋ผ์ด์ธํธ์๊ฒ ํ์ผ์ ์ ์กํ ๋, ์๋ฒ๋ ํด๋น ํ์ผ์ MIMEํ์ ์ ํจ๊ป ๋ณด๋ด๋ฉฐ, ์ด๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ๋ ํ์ผ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง ๊ฒฐ์ ํ๋ค.
MIMEํ์ ์ ์ฐพ๋๋ค๋ ๊ฒ์ ์ฃผ์ด์ง ํ์ผ์ ํ์ฅ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ผ์ MIMEํ์ ์ ๊ฒฐ์ ํ๋ ์์ ์ ์๋ฏธํ๋ค.
์ด๋ ์น ์๋ฒ๊ฐ ์ ํํ MIMEํ์ ์ ์ค์ ํ๊ณ ํด๋ผ์ด์ธํธ๊ฐ ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ ์ ์๋๋ก ๋์์ ์ค๋ค.
Nginx์ types_hash์ค์ ์ ์ด๋ฌํ MIMEํ์ ์ฐพ๊ธฐ ์์ ์ ์ต์ ํํ๋๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด MIMEํ์ ์ ํด์ ํ ์ด๋ธ์ ์ ์ฅํ๋ค.
Nginx๊ฐ types_hash๋ฅผ ์ต์ ์ผ๋ก ๊ตฌ์ฑํ๊ณ , types_hash๋ ํด์ ํ ์ด๋ธ์ ์์ฑํ๋ค.
์ด ํด์ํ ์ด๋ธ์ MIMEํ์ ์ด ์ ์ฅ๋๋ค. ์ด๋ ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ์ฌ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์์ ์ผ๋ก ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
๋ฌธ์ ํด๊ฒฐ
types_hash ์ต์ ํ๋ฅผ ์ํด types_hash_bucket_size๋ฅผ 128Bytes๋ก ๋๋ ค์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์๋ค.