How to Install and Run the Nginx Server on Windows 10

Featured Image Windows 10 Nginx Combination

Nginx is a web server that is very popular with Linux and BSD systems. Many assume it is not possible to install Nginx on Windows. That is not true at all because the web server can indeed be installed on Windows 10.

However, according to Nginx’s own website, there are a few performance limitations that have not been mitigated so far. These include only one worker (web application) running successfully, a lack of scalability and possible UDP authentication issues.

As of now, Nginx has mentioned that it will address all the problems in its future releases for Windows. To install and run Nginx successfully on Windows 10, follow the steps below.

Download the Nginx Server

There are many Windows download versions of Nginx, and Nginx recommends using the “mainline version.” However, you will not find any issues if you download its most recent stable version for Windows.

Select the latest zip file and download it to a new folder.

Download Nginx Windows Zip Version

As a first step, you need to extract the new folder. You can use 7-zip, WinRAR or any other popular compression software.

Extract New Folder Nginx

After extracting the file contents in the original folder, you have to move the entire folder that came with the built-in download copy. We will have to move this to “Program Files.”

Nginx Extracted Folder

Paste the folder in the program files. We will run Nginx from this location as a default web service program.

Nginx In Program Files

Installing Nginx

To install and run Nginx, select and double-click the Nginx.exe file. It has now been activated for further use.

Nginx Run Installer

In the next step you need to verify if the installation has been successful. For this, you can go to your default browser and type “localhost.” If you see the following screen saying Nginx web server is successfully installed and working, there are no problems in your Windows 10 installation.

Nginx Succesfully Running

To stop Nginx, you can end it from the Task Manager window.

Nginx Stop

Running Nginx on Your Windows PC

To run Nginx, you have to use Internet Information Services (IIS), which is a Microsoft web server that serves requested HTML pages or files. You can enable it from “Turn Windows Features On or Off” on the Control Panel. Check the required fields for “Web Management Tools” and “IIS Management Console.”

Turn Iis On

It will take a while for IIS to be enabled on your computer as the changes are applied.

Applying Windows Features Iis

You can open IIS Manager directly from the Start menu. Here, you will be able to access the default website, which is is usually locatedĀ  at “inetpub wwwroot.” This is also known as the web application root.

It is helpful to change the physical path of this root to a more desirable folder. I created a new “Work” folder in C:\ and changed the physical path to “C:\Work.”

Default Path Iis Manager Document Root

After this, go to the Nginx folder that you renamed in the Program files. Click “Conf” and select “nginx.conf.” This file can be edited using the Notepad++ text editor.

Edit Nginx Conf File With Notepadplusplus

In Notepad++, change the root to the edited physical path which we discussed above.

Location Docroot

You can edit the index.html file in the root folder in a separate tab. Change the text to what you want the web server to display on the screen.

Change Index Html Page

Now, run the Nginx.exe program once again and type “localhost” on a browser window. The Nginx web server will highlight the edits you made.

Nginx Testing Videos

Nginx resources site has a full list of web server applications which you can use to run various applications on Windows PC.

Summary

Nginx is one of the leading web server companies which is expected to overshadow Apache in the future. Also, it is faster, can handle more concurrent issues and is reliable. To summarize, if you have a simple website you want to connect to Nginx, you can do it right now without any problems.

Have you tried installing and running Nginx on Windows systems? What were the issues you faced? Do let us know in the comments.

Sayak Boral Sayak Boral

Sayak Boral is a technology writer with over ten years of experience working in different industries including semiconductors, IoT, enterprise IT, telecommunications OSS/BSS, and network security. He has been writing for MakeTechEasier on a wide range of technical topics including Windows, Android, Internet, Hardware Guides, Browsers, Software Tools, and Product Reviews.

8 comments

  1. This is complete nonsense… All your doing is using Windows built-in IIS webserver and pointing it to the NGinx directory.. So IIS is service the content, NOT Nginx!

    1. Thank you for your feedback.

      It is true that IIS is in the background but Nginx is the one handling all the actual LIVE traffic based on the visible changes that you can see in nginx.conf files. For this, Nginx has to connect internally to IIS and then cache its response for any future requests. Imagine tens of thousands of your website users downloading an important pdf document from IIS at the same time, it can become painfully slow. Instead if you have a very powerful front-end server like Nginx handling the traffic, the request is processed faster.

      Leave aside IIS, some actual popular websites use Ngnix as a front-ending server with Apache which is its biggest competitor. Why? Because, Nginx is generally faster than Apache.

      1. No, No ,No. This is completely incorrect.

        You cannot have two webservers binded on the same port and nothing in your article above suggests that IIS is running on a different port nor that nginx is making calls to it. Your nginx configuration file, as shown above, states that the nginx server process is listening on port 80 and serving the contents inside the root folder C:\Work, nothing more. So when you open the browser to localhost, it is nginx that is serving the html file directly from C:\Work. It is not ‘talking internally to IIS’ as you suggest.

        Installing and running IIS is completely unnecessary in the scenario your article above describes. What you’re describing in your article and what you replied to Kelvin are two completely different use cases of nginx.

  2. Hi Boral,

    Thank you for sharing this update, I just want to known about logs how we can monitor load balancing via ngnix.

    And same help me how setting up https .

  3. Thank you for your immediate response, Could you please help me load balancing for 2 application server via nginx,

    Thanks & Regards,

    Jaya Kumar. D

    1. This is a demo of Nginx’s capability in Windows. But your suggestion is well-taken and I’d like to thank you for the topic idea.

Comments are closed.