NGINX āĻāĻāĻ¨āĻŋāĻ 1.24 āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js āĻāĻŦāĻ Java) āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ NGINX āĻāĻāĻ¨āĻŋāĻ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻāĻāĻžāĻ§āĻŋāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻžāĻ° āĻ˛āĻā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻā§āĻĄāĻāĻŋ C āĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻŦāĻ Apache 2.0 āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻā§āĻˇāĻŖāĻžāĻ¯āĻŧ NGINX āĻāĻāĻ¨āĻŋāĻā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻļā§āĻŦā§:
- āĻ°ā§āĻŦāĻŋ 3.0 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ MIME āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- OpenSSL āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ TLS āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻāĻžāĻ°ā§ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤
- MIME āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŦāĻŋ āĻāĻŦāĻ āĻāĻŋāĻĄāĻŋāĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: { âshareâ: â/www/dataâ, âtypesâ: [ âimage/*â, âvideo/*â ] }
- chroot āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž, āĻ¸āĻŋāĻŽā§āĻŦāĻ˛āĻŋāĻ āĻ˛āĻŋāĻā§āĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦā§āĻ˛āĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§ āĻŽāĻžāĻāĻ¨ā§āĻ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻā§āĻĻ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ { "āĻļā§āĻ¯āĻŧāĻžāĻ°": "/www/data/static/", "chroot": "/www/data/", "follow_symlinks": āĻŽāĻŋāĻĨā§āĻ¯āĻž, "traverse_mounts": āĻŽāĻŋāĻĨā§āĻ¯āĻž }
- Node.js-āĻ "http" āĻāĻŦāĻ "websocket" āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ āĻ˛ā§āĻĄāĻžāĻ° āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ
- āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ WSGI/ASGI āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§āĻ° āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻāĻŋāĻŽ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ "āĻ˛āĻā§āĻˇā§āĻ¯" āĻŦāĻŋāĻāĻžāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤ { "āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨": { "python-app": { "type": "python", "path": "/www/apps/python-app/", "targets": { "foo": { "āĻŽāĻĄāĻŋāĻāĻ˛" : "foo.wsgi", "callable": "foo" }, "bar": { "module": "bar.wsgi", "callable": "bar" } } } }
āĻāĻ¤ā§āĻ¸: opennet.ru