Sarathlal N

Install & configure a basic nginx server on Debian 8 for static website hosting

This server configuration is only for static website hosting. No application like PHP, MySql etc. The below configured server only serve HTML, CSS & javascript files.

Install Nginx

sudo apt-get install nginx

Configure Server

In Nginx server, blocks are the equivalent of Apache’s virtual hosts. So create the server block file /etc/nginx/sites-available/example.com.

In this and all following steps, replace example.com with our domain name.

Create a new configuration file

touch /etc/nginx/sites-available/example.com

Edit configuration file

sudo nano /etc/nginx/sites-available/example.com

Update the content

server {
listen   80;
server_name www.example.com example.com;
access_log /var/www/html/example.com/logs/access.log;
error_log /var/www/html/example.com/logs/error.log;

location / {
	root   /var/www/html/example.com/public_html;
	index  index.html index.htm;
}
}

Create the public_html and log directories referenced above:

sudo mkdir -p /var/www/html/example.com/{public_html,logs}

Enable the site and restart the web server.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
sudo systemctl restart nginx
sudo rm /etc/nginx/sites-enabled/example.com
sudo systemctl restart nginx

Recent Posts

  1. Action hooks that trigger on, before or after add, update or delete actions of option - WordPress
  2. Get all variations of a variable product - WooCommerce
  3. Generate random string - Python
  4. Split domain from an email address - Python
  5. Get upcoming N days - PHP

Your Questions / Comments

If you found this article interesting, found errors, or just want to discuss about it, please get in touch.