PDA

View Full Version : How To Install Nginx Web Server: An Apache Alternative


knotabot
May 30th, 2009, 14:06
Nginx (engine x) is a HTTP server, reverse proxy and mail proxy server written by Igor Sysoev.
It is a lightweight web server, licensed under a BSD-like license.

For features and benefits Check:
http://wiki.nginx.org/Main

For Pros and Cons of Using Nginx:
http://hostingfu.com/article/nginx-vs-lighttpd-for-a-small-vps

Installing Nginx.

To update the FreeBSD tree:

# portsnap fetch update

For additional info on keeping the ports tree up to date:
http://lantech.geekvenue.net/chucktips/jason/chuck/1000607537/index_html

To install the Nginx Web Server:

# cd /usr/ports/www/nginx
# make install clean

Make sure you install the Modules that are needed and the ones you require.

Core Modules

These modules are required.

Standard HTTP Modules

These modules are automatically compiled in unless explicitly disabled with configure.

Optional HTTP Modules

The following modules must be enabled at compile-time with the specified option to configure.
HTTP Addition

Append text to pages.

Embedded Perl

Use Perl in Nginx config files.

FLV

Flash streaming Video

Gzip Precompression

Checks if a (file).gz exists.

Random Index

Randomize directory indexes.

Real IP

For using Nginx as backend.

SSL

HTTPS/SSL support.

Stub Status

View server statistics.

Substitution

Replace text in pages.

WebDAV

WebDAV pass-through support.

Google Perftools

Google Performance Tools support.

XSLT

Post-process pages with XSLT.

Secure Link

Protect pages with a secret key.

Image Filter

Transform images with libgd.


Mail Modules

Mail Core

Nginx is able to handle and proxy the IMAP, POP3, SMTP protocols.

Mail Auth

Use Nginx to authenticate mail services.

Mail Proxy

Distributes mail to different hosts or ports.

Mial SSL

This module ensures SSL/TLS support for POP3/IMAP/SMTP.


Third Party Modules

These modules are not officially supported but may be useful.
Available at http://wiki.nginx.org/Nginx3rdPartyModules




Turning on Nginx Web Server:

echo 'nginx_enable="YES"' >> /etc/rc.conf

To start Nginx:

# /usr/local/etc/rc.d/nginx start

Additional important information:

Nginx default configuration file:

/usr/local/etc/nginx/nginx.conf

Nginx default http / https port:

80 / 443

Nginx default error log file:

/var/log/nginx-error.log

nginx default access log file:

/var/log/nginx-access.log

nginx default document root:

/usr/local/www/nginx/