Egy olyan nyugom van, hogy amikor elinditanam az nginx-et, a systemctl parancs mocskos sokat varakozik, majd ezt vagja az arcomba:
[root@master sites.d]# systemctl start nginx.service
Job failed. See system journal and 'systemctl status' for details
[root@master sites.d]# systemctl status nginx
Failed to issue method call: Unit name nginx is not valid.
[root@master sites.d]# 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: timeout) since Sat, 22 Sep 2012 00:01:51 -0400; 18s ago
Process: 20794 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 20792 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/nginx.service
Sep 22 00:00:21 master.mmm.hron.me nginx[20792]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Sep 22 00:00:21 master.mmm.hron.me nginx[20792]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Amit ebbol kulon ki szeretnek emelni, az ez:
Active: failed (Result: timeout) since Sat, 22 Sep 2012 00:01:51 -0400; 18s ago
Egyebkent a logok - es a ps fax kimenete - szerint az nginx elindul, majd lelovettetik.
Erdekesseg, hogy ha nem varom vegig a timeoutot, hanem lelovom ^C -vel a systemctl -t, akkor az nginx futva marad, es minden problema nelkul megyen.
Mi a nyu okozhatja ezt? Semmi mas szervizzel nincs bajom, konkretan egy mysql multimaster clustert raktam ossze, minden egyes nyuves szervizt problemamentesen elindit a systemctl, az egy nginx-et nem. De egyebkent ezt az asztali gepemen is csinalja.
Strace-val beleneztem, a dbus-on pollingol baromi sokat, es az a rendszerhivas timeoutol el, ha jol lattam.
A dbus acelos, dbus-monitor szerint az uzenetek jonnek-mennek, a kapcsolat olyan stabil, mint a beton.
Ja, Fedora 17, 64 bit, SELinux nelkul (fel sincs rakva a tesztgepekre, az asztalin fenn van, es se enforcingba, se permissive-be nem mukodik). Nginx a default tarolokbol rakott legujabb, systemd szintugy. Semmi hakkeles nincs benne, csak ami a fedora tarolobol jott az van felrakva.
Plz help...
Update: megvan a hiba oka. Masolt konfiggal dolgoztam, es a systemctl abbol tudja, hogy egy szerviz elindult. hogy a /run/ alatt megjelenik a hozza tartozo pid file. Az en konfigom szerint az nginx azonban a /var/run ala hozta letre a pid file-t, emiatt nem erzekelte a systemctl, hogy elindult.