Nginx is an open source web server which is robust, fast and very easy to work with. It can be used to replace Apache or configured as a reverse proxy for Apache server. Nginx can also be configured to act as a load balancer.
This guide explains how to install and perform the initial configuration of Nginx Web Server on CentOS/RHEL based systems.
Nginx Repository
It is recommended to install nginx packages directly from the nginx yum repository.
To add the yum repository, create a file named /etc/yum.repos.d/nginx.repo, and paste one of the configurations below.
For CentOS :
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
For RHEL:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
Manually replace $releasever with either “5” (for 5.x) or “6” (for 6.x), depending upon your OS version.
Installation
Install the nginx web server with yum :
# yum install nginx
Set the nginx to start at boot :
# chkconfig nginx on
Basic Configuration
Backup the configuration files :
# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
# cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.back
Edit the nginx configuration file /etc/nginx/nginx.conf. Change the worker_processes value. It should be equal to the number of CPUs in your server.
worker_processes 1;
To list the number of CPUs, you can use the following command :
# lscpu | grep ‘^CPU(s)’
Enable compression by uncommenting the following line :
gzip on;
Save and close the file.
Edit the file /etc/nginx/conf.d/default.conf. Set the server’s name :
server_name example.com;
Save and close the file. Start Nginx :
# service nginx start
Confirming the installation
Enter the server’s name or IP address in your web-browser. If you see the following text, it means Nginx is successfully installed.
“Welcome to Nginx!”
Following are the default Nginx configuration files.
/etc/nginx/ – Nginx server configuration directory;
/etc/nginx/conf.d/ – SSL and vhost configuration directory;
/etc/nginx/nginx.conf – main configuration file;
/var/log/nginx/error.log – error logs;
/var/log/nginx/access.log – access logs;
/usr/share/nginx/html/ – Nginx default document root directory;
Following are some Nginx commands
# /etc/init.d/nginx start
# /etc/init.d/nginx stop
# /etc/init.d/nginx restart
# /etc/init.d/nginx condrestart
# /etc/init.d/nginx try-restart
# /etc/init.d/nginx force-reload
# /etc/init.d/nginx upgrade
# /etc/init.d/nginx reload
# /etc/init.d/nginx status
# /etc/init.d/nginx help
# /etc/init.d/nginx configtest
Setting up your first Azure Virtual Machine can be done by following these steps: Create…
Amazon CloudFront is a content delivery network (CDN) that helps you serve static content such…
Step-By-Step Guide To Setting Up An AWS Application Load Balancer Are you looking for a…
MySQL databases often get corrupted due to issues like hardware failure, file system failure etc.…
SQL Server Replication is the process of copying databases from one node to another to…
Here are 101 System Admin tools which make System Admins' life easy.
This website uses cookies.