Look out Apache, there’s a web server – Nginx (pronounced Engine X) – that means to dismantle you as the defacto standard web server. The Nginx project started development in 2002, but it’s just now really showing its strength and starting to gain a serious following. Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server, and it’s known for high performance, stability, a vast feature set, easy configuration, and very low resource consumption.
Since Nginx is new to many users, I thought I should begin a series of articles to get everyone up to speed on using this fantastic web server. Throughout this series, I’ll be using the Ubuntu platform. You can use this series as the basis for other platforms – just pay close attention to the variances of installation technology and (in some cases) directory structure. With that said, let’s install Nginx on the Ubuntu platform.
Note: As this series won’t bother with basic platform setup and security, I’ll assume that you already have the server up and running and secure to your liking. I’ll also assume that you have MySQL up and running (along with PHP support).
Requirements
Nginx has few dependencies that Ubuntu doesn’t already take care of. Here’s what you’ll need:
- The Gzip modules requires the zlib library
- The rewrite module requires the pcre library
- SSL support requires the openssl library
With the Ubuntu platform, the only library from the list above that you’ll need to install is the pcre library. To install this, follow these steps:
1.Open a terminal window
2.Issue the command:
sudo apt-get install libpcre3-dev
3.Type your sudo password and hit Enter
4.Accept the installation
5.Allow the installation to complete
Nginx can use PHP5 with the help of PHP-FPM (an alternative PHP FastCGI implementation with additional features, which is useful to busier sites). Here’s how to install PHP-FPM:
1.Open a terminal window
2.Issue the command:
sudo apt-get install php5-fpm
3.Type your sudo password (if prompted) and hit Enter
4.Accept the installation
5.Allow the installation to complete
Installing Nginx
As you might expect, the installation of Nginx is quite simple. Just follow these steps:
1.Open a terminal window
2.Issue the command:
sudo apt-get install nginx
3.Type your sudo password (if prompted) and hit Enter
4.Accept the installation
5.Allow the installation to complete
That’s it. The new web server is installed. Now, let’s peek around a bit.
Starting and stopping the server
To start the Nginx server, issue the following command:
sudo service nginx start
Top stop the Nginx server, issue the following command:
sudo service nginx stop
With the Nginx service started, fire up your browser and point it to the IP address (or domain) of the hosting server. If you see the “Welcome to Nginx” page, everything is good to go.
Before you close that terminal window, it’s necessary to set the Nginx service to start at boot. Just issue the following command:
update-rc.d nginx defaults
If you see:
System start/stop links for /etc/init.d/nginx already exist
That means Nginx is already set to start at boot time. You can now rest assured that you won’t have to manually start your web server upon reboot.
Configuration files/folders
- The main configuration file for Nginx is /etc/nginx/nginx.conf
- Virtual hosts are defined in /etc/nginx/sites-available/default
- PHP will be configured in /etc/php5/fpm/php.ini
That should do it for Nginx installation on the Ubuntu platform. In upcoming posts, we’ll start working through various configurations and optimizations to round out the series. Enjoy your new web server!