记一次nginx自启动配置的问题
我的配置如下:
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target[Service]
Type=forking
PIDFile=/home/u24/nginx/pid/nginx.pid
ExecStartPre=/home/u24/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/home/u24/nginx/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/home/u24/nginx/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=/bin/kill -s TERM $MAINPID[Install]
WantedBy=multi-user.target
执行 systemctl start nginx.service 后启动失败,提示
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
于是根据 journalctl -xeu nginx.service
中的提示,先是报找不到 /home/u24/nginx/pid/nginx.pid 这个文件,于是我手动创建了这个文件。
再次启动报 Failed to parse PID from file /home/u24/nginx/pid/nginx.pid: Invalid argument
,确认了nginx.pid 文件的访问权限后,发现 nginx 的配置中,没有指定 pid 的文件文件,于是修改 nginx.conf ,在最外层添加配置
user u24;
worker_processes 1;
#新增
pid /home/u24/nginx/pid/nginx.pid;
再次启动,成功。