---
title: "Install and configure Nginx\n    | Ubuntu"
description: Ubuntu is an open source software operating system that runs from the
  desktop, to the cloud, to all your internet connected things.
url: https://ubuntu.com/tutorials/install-and-configure-nginx?format=md
keywords: index, follow
---

# Install and configure Nginx

1. [Overview](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#1-overview)
2. [Installing Nginx](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#2-installing-nginx)
3. [Creating our own website](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#3-creating-our-own-website)
4. [Setting up virtual host](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#4-setting-up-virtual-host)
5. [Activating virtual host and testing results](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#5-activating-virtual-host-and-testing-results)
6. [That’s all!](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#6-thats-all)

## 1. Overview

Nginx (pronounced as “Engine-X”) is an open source web server that is often used as reverse proxy or HTTP cache. It is available for Linux for free.

In this tutorial we’ll install Nginx and set up a basic site.

### [What you’ll learn](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#p-39328-what-youll-learn)

* How to set up Nginx
* Some basic Nginx configuration

### [What you’ll need](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#p-39328-what-youll-need)

* A computer running Ubuntu Server 16.04 LTS
* Some basic knowledge of command line use

*Originally authored by Nicole Mikołajczyk*

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
10
minutes to go

*Previous step*
[*Next step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#2-installing-nginx)

## 2. Installing Nginx

To install Nginx, use following command:

```
sudo apt update
sudo apt install nginx
```

After installing it, you already have everything you need.

You can point your browser to your server IP address. You should see this page:

If you see this page, you have successfully installed Nginx on your web server.

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
9
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#1-overview)
[*Next step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#3-creating-our-own-website)

## 3. Creating our own website

Default page is placed in `/var/www/html/` location. You can place your static pages here, or use virtual host and place it other location.

Virtual host is a method of hosting multiple domain names on the same server.

Let’s create simple HTML page in `/var/www/tutorial/` (it can be anything you want). Create `index.html` file in this location.

```
cd /var/www
sudo mkdir tutorial
cd tutorial
sudo "${EDITOR:-vi}" index.html
```

Paste the following to the `index.html` file:

```
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello, Nginx!</title>
</head>
<body>
    <h1>Hello, Nginx!</h1>
    <p>We have just configured our Nginx web server on Ubuntu Server!</p>
</body>
</html>
```

Save this file. In next step we are going to set up virtual host to make Nginx use pages from this location.

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
5
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#2-installing-nginx)
[*Next step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#4-setting-up-virtual-host)

## 4. Setting up virtual host

To set up virtual host, we need to create file in `/etc/nginx/sites-enabled/` directory.

For this tutorial, we will make our site available on 81 port, not the standard 80 port. You can change it if you would like to.

```
cd /etc/nginx/sites-enabled
sudo "${EDITOR:-vi}" tutorial
```

```
server {
       listen 81;
       listen [::]:81;

       server_name example.ubuntu.com;

       root /var/www/tutorial;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}
```

`root` is a directory where we have placed our .html file. `index` is used to specify file available when visiting root directory of site. `server_name` can be anything you want, because you aren’t pointing it to any real domain by now.

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
2
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#3-creating-our-own-website)
[*Next step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#5-activating-virtual-host-and-testing-results)

## 5. Activating virtual host and testing results

To make our site working, simply restart Nginx service.

```
sudo service nginx restart
```

Let’s check if everything works as it should. Open our newly created site in web browser. Remember that we used :81 port.

Congratulations! Everything works as it should. We have just configured Nginx web server.

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
1
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#4-setting-up-virtual-host)
[*Next step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#6-thats-all)

## 6. That’s all!

I hope that this tutorial explained you the basics of working with Nginx. Of course, it’s much more powerful tool. You can find more in official resources, available on Nginx site.

If you need more guidance on using Nginx, help is always at hand:

* [Ask Ubuntu](https://askubuntu.com/)
* [Ubuntu Forums](https://ubuntuforums.org/)
* [IRC-based support](https://wiki.ubuntu.com/IRC/ChannelList)

### [Further reading:](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#p-39328-further-reading)

* [Nginx Begineer’s Guide](http://nginx.org/en/docs/beginners_guide.html)
* [The Complete NGINX Cookbook – free e-book from O’Reilly](https://www.nginx.com/resources/library/complete-nginx-cookbook/)

Was this tutorial useful?

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-and-configure-nginx/13952)

about
0
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-and-configure-nginx?format=md#5-activating-virtual-host-and-testing-results)

*Next step*
