Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

How to install and configure nginx in CentOS 7 / RHEL 7?

Step 1 – Configure Nginx repo for CentOS 7

$ vi /etc/yum.repos.d/nginx.repo

Append following for CentOS 7.x:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

Step 2 – Configure Nginx repo for RHEL 7

A note about configuring Nginx repo for RHEL 7

Create or edit file using vi text editor:
$ vi /etc/yum.repos.d/nginx.repo

Append following for RHEL (Red Hat Enterprise Linux) version 7.x:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/rhel/7/$basearch/
gpgcheck=0
enabled=1

Step 3 – Install Nginx on CentOS 7 & RHEL 7

To install latest stable nginx server, run the following yum command:
$ sudo yum update
$ sudo yum install nginx


Step 4 – Start/stop/restart nginx server


$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl stop nginx
$ sudo systemctl restart nginx
$ sudo systemctl status nginx

Step 5 – Open port 80 and 443 using firewall-cmd

You must open and enable port 80 and 443 using the firewall-cmd command:
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload

Step 6 – Test it

Verify that port 80 or 443 opened using ss command:
$ sudo ss -tulpn

You can also use the curl command to get same info using the cli:
$ curl -I http://10.21.136.13
$ curl http://10.21.136.13

Step 7 – Configure Nginx server

- Config dir – /etc/nginx/
- Master/Global config file – /etc/nginx/nginx.conf
- Port 80 http config file – /etc/nginx/conf.d/default
- TCP ports opened by Nginx – 80 (HTTP), 443 (HTTPS)
- Document root directory – /usr/share/nginx/html

To edit files use a text editor such as vi
$ sudo vi /etc/nginx/conf.d/default

You can upload or copy your html/css/js and images to /usr/share/nginx/html/
$ cd /usr/share/nginx/html/
$ sudo cp /backups/theos.in/*.html .
$ sudo cp /backups/theos.in/*.css .
DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.