track ip addresses, phone numbers, etc

Configuring Nginx web server

Published on 01 July 2009

Configuring Nginx

Installing Nginx

This tutorial is specific to Ubuntu Linux, but can be adapted for other versions of *nix and Linux distros. Here, we assume that

Getting started

A typical nginx.conf file looks like this (at least the one on my development machine)

user www-data;
worker_processes  2;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    # turn directory listing off 
    autoindex off;

    # turn on gzip compression
    gzip  on;

    # load all domains
    include /etc/nginx/sites-enabled/*;
}

Brief explanation:

user www-data means Nginx is going to run as user www-data. This is useful if you're making the transition from Apache, where the user is www-data. You won't have to change ownership of any existing files or directories.

You can have a maximum of 2048 clients connected. This number is got by multiplying worker_processes with worker_connections. autoindex is turned off for safety, to prevent visitors from snooping.

gzip is turned on so that Nginx serves compressed web content - save on bandwidth.

The other lines are self-explanatory.

The domain configuration files are located in /etc/nginx/sites-enabled/

Configuring the domain

Suppose we want to use Nginx to host the domain imacster.com this is a basic configuration.

Contents of /etc/nginx/sites-enabled/default

server {
    listen       80;
    server_name  imacster.com;

# log files
access_log /etc/nginx/logs/imacstercom/access.log;
error_log /etc/nginx/logs/imacstercom/error.log warn;

# directory
root   /home/username/public_html/imacstercom;
index  index.html index.php;

location / {
}

error_page   401 403 404      /40x.html;
error_page   500 502 504      /50x.html;
error_page   503              @503;
location @503 {
    rewrite ^(.*)$ /maintenance.html break;
}

}

That's the basic configuration for Nginx. To include support for PHP scripts, there are 2 ways.

Created on 01 July 2009


Affiliate Disclosure: Some of the links to products on this blog are affiliate links. It simply means, at no additional cost to you, we’ll earn a commission if you click through and buy any product.