On 23.11.2017 0:35, Clemens Gruber wrote:
I am use nginx web server (http://nginx.org/) with systemd.
But I see errors in /var/log/messages when running nginx:
systemd: Starting nginx - high performance web server...
systemd: Failed to read PID from file /var/run/nginx.pid: Invalid
argument
systemd: Started nginx - high performance web server.
systemd: Starting nginx - high performance web server...
systemd: PID file /var/run/nginx.pid not readable (yet?) after start.
systemd: Started nginx - high performance web server
either the daemon needs to be fixed
Ok, but can you tell, what is wrong with daemon?
There is nothing wrong with nginx per se. I am using a nginx.service
file similar to the following one:
https://git.pengutronix.de/cgit/ptxdist/plain/projectroot/usr/lib/systemd/system/nginx.service
BTW, in you nginx.service file line
ExecStartPre=/usr/sbin/nginx -t
is useless. It does not work as restart guard.
ExecRestartPre= in TODO but not released yet in systemd.
https://lists.freedesktop.org/archives/systemd-devel/2014-July/021642.html
If nginx was not built with --pid-path=/var/run/nginx.pid you have to
override it in your nginx.conf with the correct pid path, e.g.
pid /var/run/nginx.pid;
nginx is build with "--pid-path=/var/run/nginx.pid"
and "PIDFile=/var/run/nginx.pid" is in nginx.service file.
(Your error looks like nginx did create the pid file somewhere else and
systemd can't find it)
All ok with pid file, it located at /var/run/nginx.pid
and no directive pid defined in nginx.conf file.
Buildroot has a different approach. They add that pid config line, etc.
to the nginx command, so you do not have to add it to your nginx.conf:
https://github.com/buildroot/buildroot/blob/master/package/nginx/nginx.service
I use official nginx builds from nginx site:
http://nginx.org/en/linux_packages.html#mainline
OS CentOS 7.4, nginx 1.13.7
I restart nginx service and see the same error:
systemd: Stopping nginx - high performance web server...
systemd: Starting nginx - high performance web server...
systemd: PID file /var/run/nginx.pid not readable (yet?) after start.
systemd: Started nginx - high performance web server.
# cat /var/run/nginx.pid
12488
# systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS
+KMOD +IDN
--
Best regards,
Gena
_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel