web-dev-qa-db-ja.com

CentOS 7でnginxを起動できません

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.

および/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

そして

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

そして

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            

Epel 7.5を使用して、centos 7 64ビットにnginx-1.6.2-4.el7.x86_64をインストールしました

5
Lynob

@masegaloehが言うように、ポート80(この場合はhttpd)でリッスンしている別のプロセスがあります。最初にそのサービスを停止する必要があります(おそらく、起動時にそれを無効にする必要があります)。

Apacheを停止するには、

systemctl stop httpd

起動時にApacheの起動を停止するには、

systemctl disable httpd
4
Chris Davidson