Introduction
When using the Nginx web server, server blocks
(similar to the virtual hosts in Apache) can be used to encapsulate configuration details and host more than one domain off of a single server.
In this guide, we’ll discuss how to configure server blocks in Nginx on an Ubuntu 14.04 server.
Prerequisites
We’re going to be using a non-root user with sudo
privileges throughout this tutorial. If you do not have a user like this configured, you can make one by following steps 1-4 in our Ubuntu 14.04 initial server setup guide.
You will also need to have Nginx installed on your server. If you want an entire LEMP (Linux, Nginx, MySQL, and PHP) stack on your server, you can follow our guide on setting up a LEMP stack in Ubuntu 14.04. If you only need Nginx, you can install it by typing:
sudo apt-get update
sudo apt-get install nginx
When you have fulfilled these requirements, you can continue on with this guide.
For demonstration purposes, we’re going to set up two domains with our Nginx server. The domain names we’ll use in this guide are example.com
and test.com
.
You can find a guide on how to set up domain names with DigitalOcean here. If you do not have two spare domain names to play with, use dummy names for now and we’ll show you later how to configure your local computer to test your configuration.
Step One — Set Up New Document Root Directories
By default, Nginx on Ubuntu 14.04 has one server block enabled by default. It is configured to serve documents out of a directory at:
/usr/share/nginx/html
We won’t use the default since it is easier to work with things in the /var/www
directory. Ubuntu’s Nginx package does not use /var/www
as its document root by default due to a Debian policy about packages utilizing /var/www. Continue reading Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu 14.04 LTS