Configuring Nginx
This tutorial is specific to Ubuntu Linux, but can be adapted for other versions of *nix and Linux distros. Here, we assume that
- Nginx is installed in
/etc/nginx/ - The configuration file
nginx.confis located at/etc/nginx/ -
Nginx can be started by running this command:
sudo /etc/init.d/nginx start
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/*;
}
What is www-data?
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.
- the files are hosted at
/home/username/public_html/imacstercom - the logs will be stored in
/etc/nginx/logs/imacstercom 40x.html,50x.htmlandmaintenance.htmlare static files for error display
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.
Related Posts
If you have any questions, please contact me at arulbOsutkNiqlzziyties@gNqmaizl.bkcom. You can also post questions in our Facebook group. Thank you.