apache2 startet nur wenn ich error.log.1 anschaue

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von Gunman1982 » 26.09.2017 00:56:03

michaa7 hat geschrieben: ↑ zum Beitrag ↑
25.09.2017 22:14:51
Dürfen sich um diesen socket (IP:port) auch unterschiedliche services balgen ( in diesem fall pywwetha und apache2), der erste der sich meldet gewinnt? Dann müßte ich nämlich nur schauen wie ich dem apachen ein "Type=notify" verpasse. Oder geht das so nicht?
Ja und Nein, Ja der erste gewinnt und Nein apache das notify verpassen hilft nicht unbedingt, kann sein das der service dann zufällig vor dem pywwetha kommt, oder vielleicht trotzdem danach. Apache hat default ein fork, das heisst wenn apache vor dem anderen service gestartet wird hat apache den socket und der andere service failed. Es kann sein das die notify bevorzugt behandelt werden was das Belegen des sockets betrifft weil das über init läuft.

AFAIK kann man einen port auch nur mit einem prozess auf LISTEN belegen. Also ip4 den port belegt kann man für ipv6 den port nicht mit einem anderen prozess belegen.

siduction fahre ich nicht, nur standard debian mit SID und da wird standard der apache2 (durch gnome) drauf genagelt von daher keine Ahnung mit dem pywwetha.

michaa7
Beiträge: 4626
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von michaa7 » 26.09.2017 01:40:40

Gunman1982 hat geschrieben: ↑ zum Beitrag ↑
26.09.2017 00:56:03
...
Ja und Nein, Ja der erste gewinnt und Nein apache das notify verpassen hilft nicht unbedingt, kann sein das der service dann zufällig vor dem pywwetha kommt, oder vielleicht trotzdem danach. ...
Manchmal muß man eben erst eine dumme frage formulieren um dann aus der antwort zu erkennen, dass man darauf auch selber hätte kommen können:

Dieses init und notify regelwerk besagt ja wohl soetwas wie: kommt irgendwo auf port 80 eine anfrage dann starte mich. Und dann kommt es eben darauf an, wer schneller ist.

Noch eine dumme frage: Es gibt keine möglichkeit dieses regelwerk zu verfeinern? Statt *:80 soetwas wie <zweite-LAN-ip>:80 -> notify?

Naja, vielleicht lege ich einfach pywwetha lahm oder schaue ob pywwetha vhosts kann.

Danke soweit, wenigstens ist die ursache für die startschwierigkeiten nun halbwegs verstanden.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von Gunman1982 » 26.09.2017 10:14:17

michaa7 hat geschrieben: ↑ zum Beitrag ↑
26.09.2017 01:40:40
Dieses init und notify regelwerk besagt ja wohl soetwas wie: kommt irgendwo auf port 80 eine anfrage dann starte mich. Und dann kommt es eben darauf an, wer schneller ist.
Nein, vielleicht hab ich mich nicht klar ausgedrückt. Systemd startet die services, sobald einer davon den port 80 nutzen will, egal ob mit notify oder fork ist dieser belegt, das ist der zeitpunkt wo das rennen zwischen den prozessen um den port ist. Wenn notify in der service datei steht dann sitzt ab dann init drauf und horcht, bei fork sitzt da direkt der finale prozess drauf und horcht. Notify is halt nur dafür gedacht das prozesse erst gestartet werden wenn eine anfrage kommt und bis dahin ist da der kleine init drauf der nicht soviele resourcen braucht bzw sowieso da ist.
michaa7 hat geschrieben: ↑ zum Beitrag ↑
26.09.2017 01:40:40
Noch eine dumme frage: Es gibt keine möglichkeit dieses regelwerk zu verfeinern? Statt *:80 soetwas wie <zweite-LAN-ip>:80 -> notify?

Naja, vielleicht lege ich einfach pywwetha lahm oder schaue ob pywwetha vhosts kann.
Ich habe es selber noch nicht probiert aber sollte möglich sein, natürlich darf dann die 0.0.0.0:80 bzw in ipv6 ::::80 nicht belegt sein.
Wenn du pywwetha eh nicht nutzt würde ich das ding entweder deinstallieren oder den service disablen.

michaa7
Beiträge: 4626
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von michaa7 » 26.09.2017 21:30:45

Gunman1982 hat geschrieben: ↑ zum Beitrag ↑
26.09.2017 10:14:17
...
Systemd startet die services, sobald einer davon den port 80 nutzen will, egal ob mit notify oder fork ist dieser belegt, das ist der zeitpunkt wo das rennen zwischen den prozessen um den port ist. ...
Da habe ich gedanklich ein henne und ei problem:
zunächst kommt die anfrage auf port 80 ja von einem klienten (intern oder extern), und davon kann der zu startende prozess noch kaum etwas wissen wenn init/systemd das zunächst abfängt. Und wenn ich zunächst vergeblich mit dem browser die lokale website aufzurufen versuche wird pywwetha offenbar nicht gestarted - zumindest kann ich den apachen nach dieser klientanfrage ohne fehlermeldung starten.

In soweit sorgt deine beschreibung bei mir eher für stirnrunzeln. Danke aber dennoch, mir war bisher überhaupt nicht klar wie sehr systemd mein system im griff hat was daher zu diesem thread geführt hat.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

DeletedUserReAsG

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von DeletedUserReAsG » 26.09.2017 21:46:35

Die Sache ist: irgendein Service ist so konfiguriert, dass systemd ihn bei Bedarf starten soll. Das ist ansich ’ne gute Sache für seltener benötigte Dienste, früher™ hat man halt den inetd oder sowas genommen. Was es bei dir ist, und warum es so ist, lässt sich aus der Ferne auch nicht sagen – mir ist jedenfalls kein Debianpaket bekannt, das eine solche Konfiguration als Default mitbringt (was nicht heißen muss, dass es keines gäbe – wenngleich mich das etwas wundern würde).

Ich würde den entsprechenden Service umkonfigurieren (oder gleich wegmachen, wenn nicht gebraucht) und das Problem sollte behoben sein.

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: apache2 startet nur wenn ich error.log.1 anschaue

Beitrag von Gunman1982 » 26.09.2017 22:42:53

michaa7 hat geschrieben: ↑ zum Beitrag ↑
26.09.2017 21:30:45
zunächst vergeblich mit dem browser die lokale website aufzurufen versuche wird pywwetha offenbar nicht gestarted - zumindest kann ich den apachen nach dieser klientanfrage ohne fehlermeldung starten.
Ich gehe stark davon aus das, wenn es pywwetha ist, init versucht den zu starten und aus mir unbekannten gründen dieser nicht hoch kommt. Hast du denn mal nach dem service geschaut, ob der auf enable ist? Und den dann mal auf disable setzen das dieser bei einem neustart nicht gestartet wird. Ich habe kein Siduction deswegen kann ich das hier nicht testen.

Antworten