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

Reply via email to