我也遇到这样的问题,我是用yum install nginx安装的,安装后自动生成了nginx.service。但是用systemctl start nginx.service会卡住,用ctrl + C 结束后,查看进程已经启动了,能正常使用。用/usr/sbin/nginx -c /etc/nginx/nginx.conf 能启动就没有这种问题,怀疑是systemctl 启动文件出了问题,查看了一下,最有可能出问题的就是ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
view /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf 我把这一行屏蔽了
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
单独执行/usr/sbin/nginx -t -c /etc/nginx/nginx.conf是没有任何问题的,但是放在这里就是有问题,虽然问题解决了,但是还是不明白为什么会导致这种问题。