The NGINX Unit 1.24 application server was released, within which a solution is being developed to ensure the launch of web applications in various programming languages ββ(Python, PHP, Perl, Ruby, Go, JavaScript / Node.js and Java). Under the control of NGINX Unit, several applications in different programming languages ββcan run simultaneously, the launch parameters of which can be changed dynamically without the need to edit configuration files and restart. The code is written in C and distributed under the Apache 2.0 license. You can get acquainted with the features of the NGINX Unit in the announcement of the first release.
In the new version:
- Ensured compatibility with Ruby 3.0.
- PHP has been added to the list of default MIME types.
- The ability to set arbitrary settings for TLS connections via OpenSSL commands has been provided.
- Added support for limiting the processing of static files based on MIME types. For example, to limit the files to be served only to images and videos, you can specify: { "share": "/www/data", "types": [ "image/*", "video/*" ] }
- Implemented the ability to use chroot, block the use of symbolic links and prohibit the intersection of mount points in relation to individual requests when serving static files. { "share": "/www/data/static/", "chroot": "/www/data/", "follow_symlinks": false, "traverse_mounts": false }
- Added loader to automatically override "http" and "websocket" modules in Node.js.
- For Python, it is possible to specify several βtargetsβ sections in the configuration to define different schemes for calling WSGI / ASGI handlers in one application. { "applications": { "python-app": { "type": "python", "path": "/www/apps/python-app/", "targets": { "foo": { "module" : "foo.wsgi", "callable": "foo" }, "bar": { "module": "bar.wsgi", "callable": "bar" } } } } }
Source: opennet.ru