๐ 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