• Home
  • Linux
  • Ubuntu
  • Debian
  • CentOS
  • Linux Commands
  • About Us
  • Donate
TecNStuff
Menu
  • Home
  • Linux
  • Ubuntu
  • Debian
  • CentOS
  • Linux Commands
  • About Us
  • Donate

How to Install Nginx on Debian 9 Server

Written by Admin, Updated On May 7, 2019
debian, nginx
How to Install Nginx on Debian 9

Nginx is a free, high performance and open-source HTTP and reverse proxy server. It can be used as a standalone web server, and as a reverse proxy for Apache and other web servers. It is a more flexible and lightweight program than Apache HTTP Server that’s why it powers some of the largest sites on the Internet. Nginx can handle the bigger amount of connection than Apache and consuming smaller memory. This guide will help you to install Nginx on Debian 9 server.

Prerequisites#

  • You should logged in Debian server with a non-root sudo enabled user account.
  • Ensure that Apache or any other services are not running on port 80 or 443.

Install Nginx on Debian#

At first, you need to update packages index to the latest version by type:

sudo apt update

Now install Nginx by typing:

sudo apt install nginx

Once the installation process will completed, Nginx service will start automatically. You can verify it by running the following command:

sudo systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-04-15 20:19:06 IST; 32min ago
Docs: man:nginx(8)
Process: 421 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 370 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 423 (nginx)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/nginx.service
├─423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─424 nginx: worker process

Adjust Firewall#

If on your server firewall is enabled then you need to open both HTTP(80) and HTTPS(443) ports. Execute the following commands to open both HTTP(80) and HTTPS(443) ports:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

If your using iptables to filter connections to your system, you’ll need to open HTTP (80) and HTTPS (443) ports.

Open the necessary ports by issuing the following command:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

You can verify your Nginx installation by visiting below URL in your browser:

http://YOUR_SERVER_IP_ADDRESS

It will show you default Nginx welcome page as shown below:

nginx web server default page

Managing Nginx Service#

Finally, you installed Nginx HTTP server on your machine. Below are few basic commands to manage Nginx service:

You can stop Nginx service execute below command:

sudo systemctl stop nginx

To start it again by typing:

sudo systemctl start nginx

Restart (stop and start) Nginx service the Apache service by:

sudo systemctl restart nginx

If configuration file edited and want to Reload nginx service then you can do it by typing:

sudo systemctl reload nginx

For disable Nginx to auto start after boot execute below command:

sudo systemctl disable nginx

Again to do re-enable type:

sudo systemctl enable nginx

Nginx Configuration Files Structure#

  • All configuration files are located in the /etc/nginx/ directory.
  • Nginx main configuration file is at /etc/nginx/nginx.conf.
  • It’s best practice to create a separate configuration file of each domain for better maintainability.
  • New server blocks (configuration file) of each domain should be stored in /etc/nginx/sites-availabledirectory. You need to make symlink of these configuration files at /etc/nginx/sites-enabled to take in used by Nginx.
  • Activating server blocks is done by creating a symlink (a pointer) from the configuration file sites in a /etc/nginx/sites-enabled directory to the sites-enabled directory.
  • The default server web root directory is /var/www/html
  • It’s best practice to to follow standard naming convention. Nginx server block files name should as domain name and must end with .conf extension. For example, your domain name is example.com then server block file name should example.com.conf
  • Nginx log files (access.log and error.log) are located in the /var/log/nginx/ directory. It’s also recommended to have a different access and error log files for each server block.

Conclusion#

In this tutorial, you learned how to install Nginx on your Debian 9 server. Now you can deploy your applications and use Nginx as a web or proxy server. If you have any question or suggestion don’t hesitate to comment below.

If our content helps you, please consider buying us a coffee

Thank you for your support.

Share On
Share on Facebook
Share on Twitter
Share on Reddit
Share on Tumblr
 Previous Article How to Install phpMyAdmin with Apache on Ubuntu 18.04
Next Article   How to Set Up Nginx Server Blocks on Debian 9

Related Posts

  • How to Install WordPress with Nginx on Debian 11

    How to Install WordPress with Nginx on Debian 11

    March 22, 2023
  • How to Install LEMP Stack on Ubuntu 22.04

    How to Install LEMP Stack on Ubuntu 22.04

    March 18, 2023
  • How to Install and Use Docker on Debian 11

    How to Install and Use Docker on Debian 11

    March 10, 2023

Leave a Reply Cancel reply

DigitalOcean Referral Badge

Popular Posts

  • How to Install Microsoft Edge Browser on Ubuntu 22.04
    How to Install Microsoft Edge Browser on Ubuntu 22.04 March 14, 2023
  • How to Install Ruby on Ubuntu 22.04 LTS
    How to Install Ruby on Ubuntu 22.04 LTS February 27, 2023
  • How to Install LEMP Stack on Ubuntu 22.04
    How to Install LEMP Stack on Ubuntu 22.04 March 18, 2023
  • How to Install Set Up Apache Virtual Hosts on Ubuntu 22.04
    How to Set Up Apache Virtual Hosts on Ubuntu 22.04 March 2, 2023
  • How to Install MariaDB on Debian 11 Bullseye
    How to Install MariaDB on Debian 11 Bullseye March 8, 2023
© 2020 TecNStuff All rights reserved. This website is using and storing cookies on your browser. By using this website you agree our Privacy Policy.  Follow us -  Twitter | Facebook