Question

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

Posted August 12, 2015 650.9k 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.

×
25 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

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.

$ service apache2 stop
$ service nginx restart

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 am getting below output
nginx -t -c /etc/nginx/nginx.conf
nginx: [emerg] PEMreadbioX509AUX(“/etc/pki/tls/certs/logstash-forwarder.crt”) failed (SSL: error:0906D06C:PEM routines:PEMreadbio:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test failed

I dont know what have I missed.

nginx: [alert] could not open error log file: open() “/var/log/nginx/error.log” failed (13: Permission denied)
2016/09/23 03:28:01 [warn] 16707#16707: the “user” directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2016/09/23 03:28:01 [emerg] 16707#16707: open() “/run/nginx.pid” failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed

This is my output after running
nginx -t -c /etc/nginx/nginx.conf

I am also getting same kind of error after trying to restart Nginx

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] mkdir() “/var/lib/nginx/body” failed (2: No such file or directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

hello i have some problem with Job for nginx.service failed. See ‘systemctl status nginx.service’ and 'journalctl -xn’ for details.

nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Sun 2016-10-30 04:28:58 EDT; 13min a go
Process: 26460 ExecStop=/sbin/start-stop-daemon –quiet –stop –retry QUIT/5 –pidfile /run/nginx.pid (code=exited, status=1/FAILURE)
Process: 26395 ExecReload=/usr/sbin/nginx -g daemon on; masterprocess on; -s reload (code=exited, status=1/FAILURE)
Process: 26092 ExecStart=/usr/sbin/nginx -g daemon on; masterprocess on; (cod e=exited, status=0/SUCCESS)
Process: 26486 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 26095 (code=killed, signal=KILL)

Oct 30 04:28:58 bestdealstodays nginx[26486]: nginx: [emerg] could not build…4
Oct 30 04:28:58 bestdealstodays nginx[26486]: nginx: configuration file /etc…d
Oct 30 04:28:58 bestdealstodays systemd[1]: nginx.service: control process e…1
Oct 30 04:28:58 bestdealstodays systemd[1]: Failed to start A high performan....
Oct 30 04:28:58 bestdealstodays systemd[1]: Unit nginx.service entered faile....
Oct 30 04:42:05 bestdealstodays systemd[1]: Unit nginx.service cannot be rel....
Oct 30 04:42:31 bestdealstodays systemd[1]: Unit nginx.service cannot be rel....
Hint: Some lines were ellipsized, use -l to show in full.

– Logs begin at Mon 2016-10-03 17:54:02 EDT, end at Sun 2016-10-30 04:42:31 EDT. –
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in NET-SNMP-AGENT-MIB: nsNotifyShutdown ::= { netSnmpNotifi
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in NET-SNMP-AGENT-MIB: nsNotifyRestart ::= { netSnmpNotific
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laErrMessage ::= { laEntry 101 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laErrorFlag ::= { laEntry 100 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laLoadFloat ::= { laEntry 6 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laLoadInt ::= { laEntry 5 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laConfig ::= { laEntry 4 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laLoad ::= { laEntry 3 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laNames ::= { laEntry 2 }
Oct 30 04:42:31 bestdealstodays php5-fpm[26603]: Cannot adopt OID in UCD-SNMP-MIB: laIndex ::= { laEntry 1 }

what should i do? thx for your help

is it possible to just use the droplet ip address for server_name in nginx? I dotn have the Domain yet,

so far I tested my app and its not working from outside world.

Hi all ,

Please help me out i getting this erros.
root@webserver-Virtual-Machine:~# nginx -t -c /etc/nginx/nginx.conf
nginx: [crit] pread() “/etc/nginx/sites-enabled/sites-available” failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

Thank you guys for the above solution. I resolved done.

please check your php-fpm

设置php-fpm并检测php-fpm的运行状态
启动php-fpm
service php-fpm start
检查启动是否成功
service php-fpm status
设置开机自启动
systemctl enable php-fpm.service
检查开机自启动是否设置成功
systemctl list-dependencies | grep php-fpm
ps -ef | grep php-fpm

seems the problem is similar, but it is different. This is what I have… Pls help!
root@ubuntu:~# nginx -t -c /etc/nginx/nginx.conf
nginx: [emerg] open() “/etc/nginx/sites-enabled/savedrop.com.ua” failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

Hello,

Im trying to get nginx started. I have (tried) to enable HTTPS for my server, but it seems like something is wrong, even tho syntrax is OK and test is successful. Can anyone help me out? I have also changed server_name in the default file from _; to mydomain.com;
Screenshot 1 from Putty
Screenshot 2 from Putty

Thank you very much!

  • Hi, I have the same issue. Did you manage to find a solution?

  • Hello, the error shown in the image is from port 80 that does not recognize it, you can remove the path or place where the ipv6 is working.

    It worked for me just by placing # where the route is, eye that’s just to verify that the nginx works

Hi, the problem is
systemctl status nginx.service

nginx.service - NGINX Plus - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-04-11 19:31:52 UTC; 1h 21min ago
Docs: https://www.nginx.com/resources/
Process: 19312 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Process: 19295 ExecStartPre=/usr/lib/nginx-plus/check-subscription (code=exited, status=0/SUCCESS)
Main PID: 1827 (code=exited, status=0/SUCCESS)

same error
My code


        # 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/public;

        # Add index.php to the list if you are using PHP
        index index.html index.php 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/ /index.php?$query_string;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
                fastcgi_pass 127.0.0.1:9000;
        #       # With php7.0-fpm:
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}


I had run command here :
sudo ln -s /etc/nginx/sites-available/potree.local.conf /etc/nginx/sites-enabled

It is working ok , you can try it

It looks the firewall was wrongly turned off by somebody else, And nginx seems NOT starting correctly?

root@ubuntu:/etc/nginx# nginx -t -c /etc/nginx/nginx.conf
nginx: [emerg] open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/sites-enabled/dlppico.com:18
nginx: configuration file /etc/nginx/nginx.conf test failed

I am getting the same problem that I can’t figure out.

$ sudo 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

$ sudo service nginx restart
Job for nginx.service failed because the control process exited with error code.
See “systemctl status nginx.service” and “journalctl -xe” for details.

I’m not sure if this will help anyone, but I’ve been to this thread now on three different occasions after Googling my problem, only to find that my issue was something else. So, this might just be for my own future reference :)

For me, and I’m not sure why, the issue is I didn’t have an SSL key location included in my sites-available file (located in /etc/nginx/sites-available/sitename)

Here is what was missing at the end:

ssl_certificate     /etc/nginx/ssl/sitename.local.crt;
ssl_certificate_key /etc/nginx/ssl/sitename.local.key;

I think it’s safe to say that this error is almost always linked to an issue in this file, whether it’s a missing “;” or something else.

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.

Submit an Answer