Community

๐Ÿš€ Nginx Dynamic Module

๊ณผ๊ฑฐ Apache Httpd ๋ฅผ ์ผ์„ ๋•Œ ์ข‹์•˜๋˜ ์  ์ค‘ ํ•˜๋‚˜๋Š” ์ปดํŒŒ์ผ์„ ๋‹ค์‹œํ•  ํ•„์š” ์—†์ด ์„ค์ •์œผ๋กœ ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ Load ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฑด๋ฐ์š”, ์ด์— ๋ฐ˜ํ•ด Nginx ๋Š” ํ•„์š”ํ•œ ๋ชจ๋“ˆ์ด ์ƒ๊ธธ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์ปดํŒŒ์ผ ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋ถˆํŽธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋žฌ๋˜ Nginx ๊ฐ€ 1.9.11 ๋ฒ„์ „๋ถ€ํ„ฐ Dynamic Module ์„ ์ง€์›ํ•œ๋‹ค๋Š” ๋‚ด์šฉ์„ ๋ณด๊ณ  ์–ผ๋งˆ๋‚˜ ๋ฐ˜๊ฐ€์› ๋Š”์ง€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. Dynamic Module ์€ Nginx ์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ shared object (*.so file) ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, NGINX ์„ค์ • ํŒŒ์ผ (nginx.conf) ์—์„œ load_module directive ์‚ฌ์šฉํ•˜์—ฌ load ํ•  ๋ชจ๋“ˆ์„ ์ง€์ •ํ•˜๋ฉด ์ปดํŒŒ์ผ ๊ณผ์ • ์—†์ด Runtime ์œผ๋กœ ๋ชจ๋“ˆ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ์ฃผ์˜์‚ฌํ•ญ์œผ๋กœ๋Š” Nginx ์™€ ์‚ฌ์šฉํ•  Dynamic Module ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด configure ์˜ต์…˜์œผ๋กœ '--with-compat' ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. '--with-compat' ์˜ต์…˜์„ ์•ˆ์ค˜๋„ ์‚ฌ์šฉ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ทธ๋Ÿด ๊ฒฝ์šฐ Nginx ์™€ Dynamic Module ๋นŒ๋“œ์‹œ ์‚ฌ์šฉํ•œ configure ์˜ต์…˜์„ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ์ค˜์•ผํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์ƒ๊น๋‹ˆ๋‹ค. ํ˜น์‹œ๋‚˜ ์•„์ง๋„ Nginx ์˜ Static Module ์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹  ๋ถ„๋“ค์ด ์žˆ๋‹ค๋ฉด ์ฒจ๋ถ€๋“œ๋ฆฐ ๊ฐ€์ด๋“œ์™€ Dynamic Module ์„ค๋ช…์„ ํ•œ๋ฒˆ ์ฐธ๊ณ ํ•ด๋ณด์‹œ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ“š Reference - Nginx Converting Static Modules to Dynamic Modules Guide: https://www.nginx.com/resources/wiki/extending/converting/ - NGINX Dynamic Modules: How They Work: https://www.nginx.com/blog/nginx-dynamic-modules-how-they-work

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค