5
service nginx start
Redirecting to /bin/systemctl start  nginx.service
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.

[root@myvps ~]# systemctl status nginx.service
nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
   Active: failed (Result: exit-code) since Tue 2014-12-23 03:48:02 EST; 10s ago
  Process: 19895 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE)
  Process: 19892 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)

Dec 23 03:48:00 myvps nginx[19892]: nginx: configuration file /etc/nginx...ul
Dec 23 03:48:00 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 ...e)
Dec 23 03:48:00 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 ...e)
Dec 23 03:48:01 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 ...e)
Dec 23 03:48:01 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 ...e)
Dec 23 03:48:02 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 ...e)
Dec 23 03:48:02 myvps nginx[19895]: nginx: [emerg] still could not bind()
Dec 23 03:48:02 myvps systemd[1]: nginx.service: control process exited,...=1
Dec 23 03:48:02 myvps systemd[1]: Failed to start The nginx HTTP and rev...r.
Dec 23 03:48:02 myvps systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.

[root@myvps ~]# journalctl -xn
-- Logs begin at Mon 2014-12-22 15:26:47 EST, end at Tue 2014-12-23 03:48:02 EST
Dec 23 03:48:00 myvps nginx[19892]: nginx: configuration file /etc/nginx/ngin
Dec 23 03:48:00 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 faile
Dec 23 03:48:00 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 faile
Dec 23 03:48:01 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 faile
Dec 23 03:48:01 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 faile
Dec 23 03:48:02 myvps nginx[19895]: nginx: [emerg] bind() to 0.0.0.0:80 faile
Dec 23 03:48:02 myvps nginx[19895]: nginx: [emerg] still could not bind()
Dec 23 03:48:02 myvps systemd[1]: nginx.service: control process exited, code
Dec 23 03:48:02 myvps systemd[1]: Failed to start The nginx HTTP and reverse 
-- Subject: Unit nginx.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit nginx.service has failed.
-- 
-- The result is failed.
Dec 23 03:48:02 myvps systemd[1]: Unit nginx.service entered failed state.

and /lib/systemd/system/nginx-service

[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]
    Type=forking
    PIDFile=/run/nginx.pid
    ExecStartPre=/usr/sbin/nginx -t
    ExecStart=/usr/sbin/nginx
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target

and

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

and

netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      17005/mysqld        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      769/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      772/sendmail: accep 
tcp6       0      0 :::80                   :::*                    LISTEN      1373/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      769/sshd            

I installed nginx-1.6.2-4.el7.x86_64 on my centos 7 64 bit using Epel 7.5

2
  • 1
    nginx: [emerg] bind() to 0.0.0.0:80 faile ---> check if there are other process listen in port 80. For example, run netstat -tulpn
    – masegaloeh
    Dec 23 '14 at 9:09
  • @masegaloeh I edit my question
    – Lynob
    Dec 23 '14 at 9:24
4

As @masegaloeh says, you have another process listening on port 80, in this case httpd. You'll need to stop that service first (and probably want to disable it on boot).

To stop Apache;

systemctl stop httpd

To stop Apache starting on boot;

systemctl disable httpd
1
  • true true everytime i install nginx i forget to stop apache, i keep forgetting about it
    – Lynob
    Dec 23 '14 at 9:27
-1

A port can't handle two services at same time.

systemctl stop httpd
systemctl disable httpd

Then

systemctl restart nginx
1
  • Welcome, Already montionned in the accepted answer.
    – GAD3R
    Dec 28 '18 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.