• +1 510-870-8668, 510-298-5936, 510-796-2400
  • Login


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.

MIRI Infotech is configuring and publishing NGINX embedded pre-configured tool with ready-to-launch AMI on Ubuntu 16.04  that contains NGINX, MySQL and PHP.

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 WebSocket, 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.
Nginx live cast:

You can subscribe to an AWS Marketplace product and launch an instance from the Nginx product's AMI using the Amazon EC2 launch wizard.

To launch an instance from the AWS Marketplace using the launch wizard

1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

2. From the Amazon EC2 dashboard, choose Launch Instance.

On the Choose an Amazon Machine Image (AMI) page, choose the AWS Marketplace category on the left. Find a suitable AMI by browsing the categories, or using the search functionality. Choose Select to choose your product.

3. A dialog displays an overview of the product you've selected. You can view the pricing information, as well as any other information that the vendor has provided. When you're ready, choose Continue.

4. On the Choose an Instance Type page, select the hardware configuration and size of the instance to launch. When you're done, choose Next: Configure Instance Details.

5. On the next pages of the wizard, you can configure your instance, add storage, and add tags. For more information about the different options you can configure, see Launching an Instance. Choose Next until you reach the Configure Security Group page.

6. The wizard creates a new security group according to the vendor's specifications for the product. The security group may include rules that allow all IP addresses ( access on SSH (port 22) on Linux or RDP (port 3389) on Windows. We recommend that you adjust these rules to allow only a specific address or range of addresses to access your instance over those ports.

7.When you are ready, choose Review and Launch.

8. On the Review Instance Launch page, check the details of the AMI from which you're about to launch the instance, as well as the other configuration details you set up in the wizard. When you're ready, choose Launch to select or create a key pair, and launch your instance.

9. Depending on the product you've subscribed to, the instance may take a few minutes or more to launch. You are first subscribed to the product before your instance can launch. If there are any problems with your credit card details, you will be asked to update your account details. When the launch confirmation page displays


NGINX is one of a handful of servers written to address the C10K problem. Unlike traditional servers, NGINX doesn’t rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load. Even if you don’t expect to handle thousands of simultaneous requests, you can still benefit from NGINX’s high-performance and small memory footprint. NGINX scales in all directions: from the smallest VPS all the way up to large clusters of servers.


Development is available to any member of the eFront community. All fixes and improvements are done through pull requests to the code.


  • Despite of providing several features, there should be more add-ons, which suits the current environment of learning.
  • rate-liming and traffic shaping with NGINX is a complicated process.

Usage / Deployment Instruction

Open the URL: http://<instance ip address>

<instance ip address> : IP address of the running EC2 instance.

Step 1: Fill the primary authentication form with the following details –

Username: root

Password: <instanceID>

Step 2: installation complete.

Live Demo

Our Rating

5 star
4 star
3 star
2 star
1 star

Submit Your Request

First Name:*
Last Name:*
Email Address:*
Phone Number:*