Nginx startup shows a solution to the 80 port occupancy problem _nginx_ Home of Scripts

Nginx startup shows a solution to the port 80 occupancy problem

Updated: Apr 29, 2024 11:24:52 by SarPro
This article mainly introduces the Nginx startup display 80 port occupation problem solution, the article through code examples and graphics explain very detailed, to solve the problem has a certain help, need friends can refer to

1. Problem description

The following is displayed when the nginx service is started:

sudo systemctl status nginx

The cause of the problem:

According to the log, the Nginx service failed to start, mainly because it could not be bound to port 80. This is usually because the port has been

This is caused by other processes.

2. Solution

To solve this problem, you can perform the following steps:

Check whether port 80 is occupied by other processes. You can use the following command to check:

sudo netstat -tuln | grep :80

This command lists the processes listening on port 80. If another process is using the port, the following information is displayed:

Open the configuration file: you can change port 80 [default port] to port 8080 [of course, it can be other, but remember to go to the firewall to add rules (that is, add ports)]

For example, if I add port 8080, the rules are as follows (red box) :

You can open the configuration file with the following command:

sudo nano /etc/nginx/sites-available/*

The contents of my configuration file are as follows [different versions of course the configuration file is different] :

## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # https://www.nginx.com/resources/wiki/start/ # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ # https://wiki.debian.org/Nginx/DirectoryStructure # # In most cases, administrators will remove this file from sites-enabled/ and # leave it as reference inside of sites-available where it will continue to be # updated by the nginx packaging team. # # This file will automatically load configuration files provided by other # applications, such as Drupal or Wordpress. These applications will be made # available underneath a path with that package name, such as /drupal8. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # #location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # Virtual Host configuration for example.com # # You can move that to a different file under sites-available/ and symlink that # to sites-enabled/ to enable it. # #server { # listen 80; # listen [::]:80; # # server_name example.com; # # root /var/www/example.com; # index index.html; # # location / { # try_files $uri $uri/ =404; #} #}

Will be inside the code module

server {
    listen 80 default_server;
    listen [::]:80 default_server;

Be modified into

server {
    listen 8080 default_server;
    listen [::]:8080 default_server;

The changes are complete! If there are 80 in other places, change it to 8080.

Start the Nginx service

sudo systemctl start nginx

To set the Nginx service to start automatically:

sudo systemctl enable nginx

Verify that Nginx is running:

sudo systemctl status nginx

If all is well, the output should be "Active: active (running)" or something similar.

These are the details of the Nginx startup solution to display the 80 port occupancy problem, more information about Nginx 80 port occupancy please follow other related articles in Script Home!

Related article

Latest comments