Nginx – Accelerates Content and Application Delivery | Miri Infotech


February 6, 2018


MIRI Infotech is configuring and publishing NGINX embedded pre-configured tool with ready-to-launch AMI on Ubuntu 16.04 that contains NGINX, MySQL, Linux, PHP. NGINX is a software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. The goal behind NGINX was to create the fastest web server around, and maintaining that excellence is still a central goal of the project. NGINX consistently beats Apache and other servers in benchmarks measuring web server performance. Since the original release of NGINX however, websites have expanded from simple HTML pages to dynamic, multifaceted content. NGINX has grown along with it and now supports all the components of the modern Web, including Web Socket, HTTP/2, and streaming of multiple video formats (HDS, HLS, RTMP, and others).



       Basic HTTP server features

  • Serving static and index files, autoindexing; open file descriptor cache;
  • Accelerated reverse proxying with caching; load balancing and fault tolerance;
  • Accelerated support with caching of FastCGI, uwsgi, SCGI, and memcached servers; load balancing and fault tolerance;
  • Modular architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image transformation filter. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by proxied or FastCGI/uwsgi/SCGI servers;
  • SSL and TLS SNI support;
  • Support for HTTP/2 with weighted and dependency-based prioritization.

Other HTTP server Features

  • Name-based and IP-based virtual servers;
  • Keep-alive and pipelined connections support;
  • Access log formats, buffered log writing, fast log rotation, and syslog logging;
  • 3xx-5xx error codes redirection;
  • The rewrite module: URI changing using regular expressions;
  • Executing different functions depending on the client address;
  • Access control based on client IP address, by password (HTTP Basic authentication) and by the result of subrequest;
  • Validation of HTTP referer;
  • The PUT, DELETE, MKCOL, COPY, and MOVE methods;
  • FLV and MP4 streaming;
  • Response rate limiting;
  • Limiting the number of simultaneous connections or requests coming from one address;
  • IP-based geolocation;
  • A/B testing;
  • Request mirroring;
  • Embedded Perl;
  • nginScript.

       Mail proxy server features

  • User redirection to IMAP or POP3 server using an external HTTP authentication server;
  • User authentication using an external HTTP authentication server and connection redirection to an internal SMTP server
  • Authentication methods:
  • SSL support;
  • STARTTLS and STLS support.

       TCP/UDP proxy server features

  • Generic proxying of TCP and UDP;
  • SSL and TLS SNI support for TCP;
  • Load balancing and fault tolerance;
  • Access control based on client address;
  • Executing different functions depending on the client address;
  • Limiting the number of simultaneous connections coming from one address;
  • Access log formats, buffered log writing, fast log rotation, and syslog logging;
  • IP-based geolocation;
  • A/B testing;
  • nginScript.

       Architecture and scalability

  • One master and several worker processes; worker processes run under an unprivileged user;
  • Flexible configuration;
  • Reconfiguration and upgrade of an executable without interruption of the client servicing;
  • Support for kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select, and poll;
  • The support of the various kqueue features including EV_CLEAR, EV_DISABLE (to temporarily disable events), NOTE_LOWAT, EV_EOF, number of available data, error codes;
  • The support of various epoll features including EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) and EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
  • sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+), sendfile64 (Linux 2.4.21+), and sendfilev (Solaris 8 7/01+) support;
  • File AIO (FreeBSD 4.3+, Linux 2.6.22+);
  • DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
  • Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) and TCP_DEFER_ACCEPT (Linux 2.4+) support;
  • 10,000 inactive HTTP keep-alive connections take about 2.5M memory;
  • Data copy operations are kept to a minimum.

       Tested OS and platforms

  • FreeBSD 3 — 11 / i386; FreeBSD 5 — 11 / amd64;
  • Linux 2.2 — 4 / i386; Linux 2.6 — 4 / amd64; Linux 3 — 4 / armv6l, armv7l, aarch64, ppc64le;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • macOS / ppc, i386;
  • Windows XP, Windows Server 2003.

MIRI Nginx Support

MIRI Nginx provides technical support for installation and setup issues through our support center. We are ready to be answer of all your queries related to product and we would happy to help/support you with product configuration and development.

Leave a Reply

Your email address will not be published. Required fields are marked *

More like this

The Ultimate Guide For Notion AI

The Game-Changing Impact Of Extended Reality (XR) On The Future

MEAN vs MERN: Which Stack Is Best For Your Next Web Development Project?