Question

Can't start Nginx - Job for nginx.service failed

Posted August 12, 2015 773.1k views
NginxUbuntuLEMP

Hello,

This is my fist droplet and I’ve followed all the steps for the initial server setup with Ubuntu, how to setup a firewall with ufw, I’ve installed Nginx and it worked. Then I’ve installed MariaDb and started it, everything was ok, and after I’ve installed PHP I’ve followed “Step Four — Configure Nginx to Use our PHP Processor” from here: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04
(although I have Ubuntu 15.04 x64 on my droplet)
Did “sudo nano /etc/nginx/sites-available/default” and put the same setup it is in their example, but after “sudo service nginx restart” couldn’t restart the Nginx, I’m getting:

myusername@droplet1:~$ sudo service nginx restart
Job for nginx.service failed. See "systemctl status nginx.service" and "journalctl -xe" for details.
myusername@droplet1:~$ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2015-08-12 20:16:25 CEST; 23s ago
  Process: 24221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 17425 (code=exited, status=0/SUCCESS)
myusername@droplet1:~$ journalctl -xe
Hint: You are currently not seeing messages from other users and the system.
      Users in the 'systemd-journal' group can see all messages. Pass -q to
      turn off this notice.
--
-- The start-up result is done.
Aug 12 18:43:25 droplet1.mysite.com systemd[15692]: Starting Shutdown.
-- Subject: Unit UNIT has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit UNIT has begun starting up.
Aug 12 18:43:25 droplet1.mysite.com systemd[15692]: Starting Exit the Session..
-- Subject: Unit UNIT has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit UNIT has begun starting up.
Aug 12 18:43:25 droplet1.mysite.com systemd[15692]: Received SIGRTMIN+24 from P
Aug 12 18:43:34 droplet1.mysite.com systemd[16747]: Trying to run as user insta
Aug 12 18:43:34 droplet1.mysite.com systemd[16748]: pam_unix(systemd-user:sessi
Aug 12 18:46:06 droplet1.mysite.com sudo[16790]: pam_unix(sudo:auth): authentic
Aug 12 19:40:45 droplet1.mysite.com systemd[21873]: Trying to run as user insta
Aug 12 19:41:20 droplet1.mysite.com sudo[21907]: pam_unix(sudo:auth): authentic
Aug 12 20:04:23 droplet1.mysite.com systemd[24038]: Trying to run as user insta
Aug 12 20:09:59 droplet1.mysite.com systemd[24109]: Trying to run as user insta
Aug 12 20:15:47 droplet1.mysite.com systemd[24180]: Trying to run as user insta
lines 1142-1164/1164 (END)

Anyone have an idea about what happens?

Thanks!

edited by asb
6 comments

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
27 answers

Glad to hear you got it working!

In the future, here’s something that might come in useful. You can check the syntax of Nginx’s configuration files by running:

  • nginx -t -c /etc/nginx/nginx.conf

The error output will give you a hint at what the problem is as well as the line number.

  • This is how I found the error, with “nginx -t” :-)
    Thanks!

  • thx your my bro 4 ever <3

  • I also meet same error. After using your method, I found the cause of the problem:

    Nov 11 00:59:50 hxl sshd[26185]: Failed password for root from 00000 port 57841 ssh2
    Nov 11 00:59:50 hxl sshd[26185]: error: maximum authentication attempts exceeded for root from 58.242.83.16 port 57841 ssh2 [preauth]
    Nov 11 00:59:50 hxl sshd[26185]: Disconnecting: Too many authentication failures [preauth]
    Nov 11 00:59:50 hxl sshd[26185]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.242.83.16  user=root
    Nov 11 00:59:50 hxl sshd[26185]: PAM service(sshd) ignoring max retries; 6 > 3
    Nov 11 00:59:51 hxl sshd[26187]: Failed password for root from 00000 port 41166 ssh2
    Nov 11 00:59:53 hxl sshd[26187]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Nov 11 00:59:53 hxl sshd[26189]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.242.83.16  user=root
    Nov 11 00:59:53 hxl sshd[26189]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Nov 11 00:59:55 hxl sshd[26187]: Failed password for root from 00000 port 41166 ssh2
    Nov 11 00:59:55 hxl sshd[26189]: Failed password for root from 00000 port 15727 ssh2
    Nov 11 00:59:55 hxl sshd[26187]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Nov 11 00:59:55 hxl sshd[26189]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Nov 11 00:59:57 hxl sshd[26187]: Failed password for root from 00000 port 41166 ssh2
    Nov 11 00:59:57 hxl sshd[26187]: Received disconnect from 00000 port 41166:11:  [preauth]
    Nov 11 00:59:57 hxl sshd[26187]: Disconnected from 00000 port 41166 [preauth]
    Nov 11 00:59:57 hxl sshd[26187]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.218.198.143  user=root
    Nov 11 00:59:57 hxl sshd[26189]: Failed password for root from 00000 port 15727 ssh2
    (my_env) [root@hxl hxlApp]# nginx -t -c /etc/nginx/nginx.conf
    nginx: [emerg] open() "/etc/nginx/uwsgi_params" failed (2: No such file or directory) in /etc/nginx/conf.d/hxlApp.conf:13
    nginx: configuration file /etc/nginx/nginx.conf test failed
    (my_env) [root@hxl hxlApp]# nginx -t -c /etc/nginx/nginx.conf
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
    edited by MattIPv4
  • Thank you so much this command line

  • I am getting
    root@fn:/# nginx -t -c /etc/nginx/nginx.conf
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    But still having the same issue. Can you please help

Try to run the following two commands:

sudo fuser -k 80/tcp

sudo fuser -k 443/tcp

Then execute

sudo service nginx restart

https://stackoverflow.com/questions/35868976/nginx-not-started-and-cant-start/51684856#51684856

Hello,

In addition to what has already been mentioned, I would recommend following these steps in case that you are having any problems with your nginx server and you are unsure on what the problem is:

  • Check if nginx is running:
systemctl status nginx

If nginx is running you should see something like this:

● nginx.service - The nginx HTTP Server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-11-19 09:37:46 UTC; 2 days ago
     Docs: https://httpd.nginx.org/docs/2.4/

If nginx is not running then the output would look like this:

● nginx.service - The nginx HTTP Server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Fri 2019-11-22 08:41:01 UTC; 39s ago
     Docs: https://httpd.nginx.org/docs/2.4/
  • If nginx is not running you could start it with:
systemctl start nginx

Then check the status agian and make sure that nginx remains running.

  • If nginx did not start after a reboot, you could enable it so that it starts after the next reboot:
systemctl enable nginx
  • Check your nginx config syntax:
nginx -t

If you get an error, you would need to fix that problem and then you could restart nginx:

systemctl restart nginx
  • If you get Syntax OK when running nginx -t then your confiruation is correct, so I would recommend checking your error logs:
tail -f /var/log/nginx/error.log
  • Check the permissions of the files and folders in your document root:

Find the user that your nginx service is running as:

ps auxf | grep nginx

If you are using Ubuntu, the user should be www-data, so you would need to make sure that your files and folders are owned by that user, so nginx could read and write to those files:

chown -R www-data:www-data /var/www/yourdomain.com
  • Check if nginx is binding to the default ports:
netstat -plant | grep '80\|443'
  • Check if ufw allows TCP connections on port 80 and 443:
ufw status

If this is the case, you can follow the steps from this article here on how to configure your ufw:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04

That is pretty much it, with all of the above information you should be able to narrow down the problem.

For more information I would suggest checking out this article here:

https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-common-site-issues-on-a-linux-server

Hope that this helps!
Regards,
Bobby
Source: How to Troubleshoot Common Nginx Issues on Linux Server?

by Justin Ellingwood
Everybody runs into issues with their website at one point or another. This guide will help you troubleshoot some common issues and get your site running again.

Heres the bug. Its fixed but not showing in Digitaocean repos fix.
You can manually edit this to work.
https://github.com/webmin/webmin/issues/206

$ service apache2 stop
$ service nginx restart

  • I read all comments above but your answer help man. But I want to know why apache2 starts automatically and stops the Nginx server.

    I want to know the cause so this won’t happen next time.

deployer@sureApp07:~$ sudo systemctl restart nginx
Job for nginx.service failed because the control process exited with error code.
See “systemctl status nginx.service” and “journalctl -xe” for details.
deployer@sureApp07:~$ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2017-10-10 10:54:42 UTC; 10s ago
Docs: man:nginx(8)
Process: 8136 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
CPU: 21ms
deployer@sureApp07:~$

Any help?

  • Hi, it’s a bit late answer but it may help others.
    # systemctl list-unit-files –type=service | grep apache
    If the output shows service named “snap.nextcloud.apache.service” use #systemctl stop snap.nextcloud.apache.service to stop it.
    Restart nginx service with *#systemctl restart nginx. *
    The nginx service should work now.

If you miss the semicolon symbol “;” at the end of any statement, you may not get the error when trying to start / restart / reload nginx.

Example: Here you will get the error, as ; is missed on line no 3.

    server {
        location / {
            proxy_pass http://localhost:8080
        }

        location ~ \.(gif|jpg|png)$ {
            autoindex on;
            root /data/images;
        }
    }
edited by MattIPv4

I leave this here incase someone comes here looking for an answer and they experience the same problem I had.

Check if you have apache2 installed and running by typing service apache2 status. If it’s running it will prevent nginx from starting since they use the same port. So you can stop apache2 by typing service apache2 stop, then restart your nginx.

Previous 1 2 3 Next