NGINX ์œ ๋‹› 1.24.0 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋ฆด๋ฆฌ์Šค

NGINX ์œ ๋‹› 1.24 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ์•ˆ์—์„œ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ๋ฐ Java)๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. . NGINX ์œ ๋‹›์€ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š” ์—†์ด ์‹คํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค ๋ฐœํ‘œ๋ฅผ ํ†ตํ•ด NGINX Unit์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—์„œ:

  • Ruby 3.0๊ณผ์˜ ํ˜ธํ™˜์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • MIME ์œ ํ˜•์˜ ๊ธฐ๋ณธ ๋ชฉ๋ก์— PHP๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenSSL ๋ช…๋ น์„ ํ†ตํ•ด TLS ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž„์˜ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • MIME ์œ ํ˜•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์  ํŒŒ์ผ ์ฒ˜๋ฆฌ๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—…๋กœ๋“œ๋˜๋Š” ํŒŒ์ผ์„ ์ด๋ฏธ์ง€์™€ ๋น„๋””์˜ค๋กœ๋งŒ ์ œํ•œํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. { โ€œshareโ€: โ€œ/www/dataโ€, โ€œtypesโ€: [ โ€œimage/*โ€, โ€œvideo/*โ€ ] }
  • chroot๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ธฐํ˜ธ ๋งํฌ ์‚ฌ์šฉ์„ ์ฐจ๋‹จํ•˜๊ณ , ์ •์  ํŒŒ์ผ์„ ์ œ๊ณตํ•  ๋•Œ ๊ฐœ๋ณ„ ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๋งˆ์šดํŠธ ์ง€์ ์˜ ๊ต์ฐจ๋ฅผ ๊ธˆ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. { "๊ณต์œ ": "/www/data/static/", "chroot": "/www/data/", "follow_symlinks": false, "traverse_mounts": false }
  • Node.js์—์„œ "http" ๋ฐ "websocket" ๋ชจ๋“ˆ์„ ์ž๋™์œผ๋กœ ์žฌ์ •์˜ํ•˜๋Š” ๋กœ๋”๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Python์˜ ๊ฒฝ์šฐ ๊ตฌ์„ฑ์—์„œ ์—ฌ๋Ÿฌ "๋Œ€์ƒ" ์„น์…˜์„ ์ง€์ •ํ•˜์—ฌ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ WSGI/ASGI ํ•ธ๋“ค๋Ÿฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ฒด๊ณ„๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. { "applications": { "python-app": { "type": "python", "path": "/www/apps/python-app/", "targets": { "foo": { "module" : "foo.wsgi", "ํ˜ธ์ถœ ๊ฐ€๋Šฅ": "foo" }, "bar": { "๋ชจ๋“ˆ": "bar.wsgi", "ํ˜ธ์ถœ ๊ฐ€๋Šฅ": "bar" } } } } }

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€