PDA

Vollständige Version anzeigen : FC8: httpd 7 Prozesse?


Ralph Stahl
12-17-2007, 10:06 AM
Moin,

ich möchte für Webentwicklungen ständig lokal den Apache laufen haben
und lasse den httpd dafür mittels system-config-services für runlevel 5
automatisch starten, was auch funktioniert. Merkwürdig ist nur, daß er
nun in der Prozessliste 7x auftaucht - warum? Wenn ich ihn in
system-config-services aus- und wieder anknipse, ist er nur 1x da. Wer
startet die anderen 6 beim Booten? 7 läßt auf 7 Konsolen schließen, aber
damit wirds ja wohl nichts zu tun haben?! Oder ist 7 einfach meine
Glückszahl?

Ralph

Heiko Schlenker
12-17-2007, 12:53 PM
* Ralph Stahl <post*rstahl.de> schrieb:

> ich möchte für Webentwicklungen ständig lokal den Apache laufen haben
> und lasse den httpd dafür mittels system-config-services für runlevel 5
> automatisch starten, was auch funktioniert. Merkwürdig ist nur, daß er
> nun in der Prozessliste 7x auftaucht - warum?

Vermutlich, weil Apache vom zuständigen Systemadministrator
entsprechend konfiguriert worden ist (Parameter 'StartServers',
'MinSpareServers', 'MaxSpareServers' usw.). Den solltest Du fragen.

Gruß, Heiko

Ralph Stahl
12-17-2007, 04:59 PM
Heiko Schlenker schrieb:
> * Ralph Stahl <post*rstahl.de> schrieb:
>
>> ich möchte für Webentwicklungen ständig lokal den Apache laufen
>> haben und lasse den httpd dafür mittels system-config-services für
>> runlevel 5 automatisch starten, was auch funktioniert. Merkwürdig
>> ist nur, daß er nun in der Prozessliste 7x auftaucht - warum?
>
> Vermutlich, weil Apache vom zuständigen Systemadministrator
> entsprechend konfiguriert worden ist (Parameter 'StartServers',
> 'MinSpareServers', 'MaxSpareServers' usw.). Den solltest Du fragen.
>
> Gruß, Heiko

Wer könnte das wohl sein? Ach ja, ich... Um ehrlich zu sein, hatte ich
mit dieser Eigenschaft noch nie Kontakt. vermutlich, weil ich bisher den
httpd immer zu Fuß bei Bedarf gestartet habe, und dabei entsteht nur 1
Prozeß.

Also: bei apache.org steht dazu folgendes:

"Die Direktive StartServers bestimmt die Anzahl der Kindprozesse des
Servers, die beim Start erstellt werden. Da die Anzahl der Prozesse
abhängig von der Last dynamisch kontrolliert wird, besteht normalerweise
wenig Grund für eine Änderung dieses Parameters."

Ich würde das so verstehen, daß die Prozesse alle "schlafen", bis die
Last ihre Aufertehung erfordert. Richtig? In meiner httpd.conf steht

StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

Da ich nahezu ausschließlich allein auf dem Server bin, wäre also auch
zum Bleistift

StartServers 1
MinSpareServers 1

sinnvoll. Die zu vielen Prozesse brauchen zwar keine Last, aber unnötig
Speicher.

danke schonmal, wieder was gelernt.

Ralph

Heiko Schlenker
12-17-2007, 11:52 PM
* Ralph Stahl <post*rstahl.de> schrieb:

> Da ich nahezu ausschließlich allein auf dem Server bin, wäre also auch
> zum Bleistift
>
> StartServers 1
> MinSpareServers 1
>
> sinnvoll. Die zu vielen Prozesse brauchen zwar keine Last, aber unnötig
> Speicher.
>
> danke schonmal, wieder was gelernt.

Vor allem sollte man im Zusammenhang des Betriebs eines lokalen
Dienstes, dafür Sorge tragen, dass er nicht öffentlich -- also
internetweit -- erreichbar ist. ;-) Im Falle des Apaches bieten sich
Parameter wie 'BindAddress', 'Listen' usw. an.

Gruß, Heiko

Ralph Stahl
12-18-2007, 01:32 PM
Heiko Schlenker schrieb:
> * Ralph Stahl <post*rstahl.de> schrieb:
>
>> Da ich nahezu ausschließlich allein auf dem Server bin, wäre also auch
>> zum Bleistift
>>
>> StartServers 1
>> MinSpareServers 1
>>
>> sinnvoll. Die zu vielen Prozesse brauchen zwar keine Last, aber unnötig
>> Speicher.
>>
>> danke schonmal, wieder was gelernt.
>
> Vor allem sollte man im Zusammenhang des Betriebs eines lokalen
> Dienstes, dafür Sorge tragen, dass er nicht öffentlich -- also
> internetweit -- erreichbar ist. ;-) Im Falle des Apaches bieten sich
> Parameter wie 'BindAddress', 'Listen' usw. an.
>
> Gruß, Heiko

Ja, ist klar. Ich sitze hinter einem Router, der die 80 nicht durchreicht.

Merkwürdig ist, daß trotz
<IfModule prefork.c>
StartServers 1
MinSpareServers 1
....
</IfModule>

Woher weiß ich, ob prefork.c benutzt wird? Scheint ja nicht so.

Ralph


immer noch 8 Prozesse laufen.

Heiko Schlenker
12-18-2007, 02:42 PM
* Ralph Stahl <post*rstahl.de> schrieb:

> Heiko Schlenker schrieb:
>> Vor allem sollte man im Zusammenhang des Betriebs eines lokalen
>> Dienstes, dafür Sorge tragen, dass er nicht öffentlich -- also
>> internetweit -- erreichbar ist. ;-) Im Falle des Apaches bieten sich
>> Parameter wie 'BindAddress', 'Listen' usw. an.
>>
>
> Ja, ist klar. Ich sitze hinter einem Router, der die 80 nicht durchreicht.

Das ist ein typischer Fehler, der in der einschlägigen Literatur zum
Thema Sicherheit immer wieder genannt wird. Eine "Firewall" ist
nicht dazu da, um eine nachlässige Hostkonfiguration zu
legitimieren. Nicht "entweder oder", sondern "sowohl als auch"
lautet das Motto.

Zudem ist ein Low-Cost-DSL-Router oftmals "löchriger", als der
Normalanwender denkt, insbesondere wenn NAT im Spiel ist. Man kann
nicht oft genug betonen, dass NAT nicht als Sicherheitstechnik
entworfen worden ist. NAT hat die Aufgabe, Adressen umzusetzen.
Nicht mehr, nicht weniger.

Siehe auch:
http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#NAT
http://groups.google.com/groups?selm=35k1rrF4om6miU1*individual.net

> Merkwürdig ist, daß trotz
> <IfModule prefork.c>
> StartServers 1
> MinSpareServers 1
> ...
> </IfModule>
>
> Woher weiß ich, ob prefork.c benutzt wird? Scheint ja nicht so.

Ruf doch mal das apache-Programm (/usr/sbin/apache-ssl,
/usr/sbin/apache, /usr/sbin/httpd etc.) mit der Option '-l' auf
und/oder suche in der Apache-Konfiguration nach
'LoadModule'-Anweisungen.

Gruß, Heiko

Ralph Stahl
12-20-2007, 10:25 AM
Heiko Schlenker schrieb:
> * Ralph Stahl <post*rstahl.de> schrieb:
>
>> Heiko Schlenker schrieb:
>>> Vor allem sollte man im Zusammenhang des Betriebs eines lokalen
>>> Dienstes, dafür Sorge tragen, dass er nicht öffentlich -- also
>>> internetweit -- erreichbar ist. ;-) Im Falle des Apaches bieten sich
>>> Parameter wie 'BindAddress', 'Listen' usw. an.
>>>
>> Ja, ist klar. Ich sitze hinter einem Router, der die 80 nicht durchreicht.
>
> Das ist ein typischer Fehler, der in der einschlägigen Literatur zum
> Thema Sicherheit immer wieder genannt wird. Eine "Firewall" ist
> nicht dazu da, um eine nachlässige Hostkonfiguration zu
> legitimieren. Nicht "entweder oder", sondern "sowohl als auch"
> lautet das Motto.

Ist schon klar. Da aber die 80 nicht geroutet wird, sollte der Apache
nicht angeprochen werden können.

> Zudem ist ein Low-Cost-DSL-Router oftmals "löchriger", als der
> Normalanwender denkt, insbesondere wenn NAT im Spiel ist. Man kann
> nicht oft genug betonen, dass NAT nicht als Sicherheitstechnik
> entworfen worden ist. NAT hat die Aufgabe, Adressen umzusetzen.
> Nicht mehr, nicht weniger.

Auch klar, ich werde das so gut es geht umsetzen, was Du schreibst.

> Siehe auch:
> http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#NAT
> http://groups.google.com/groups?selm=35k1rrF4om6miU1*individual.net
>
>> Merkwürdig ist, daß trotz
>> <IfModule prefork.c>
>> StartServers 1
>> MinSpareServers 1
>> ...
>> </IfModule>
>>
>> Woher weiß ich, ob prefork.c benutzt wird? Scheint ja nicht so.
> Ruf doch mal das apache-Programm (/usr/sbin/apache-ssl,
> /usr/sbin/apache, /usr/sbin/httpd etc.) mit der Option '-l' auf
> und/oder suche in der Apache-Konfiguration nach
> 'LoadModule'-Anweisungen.

Im LoadModule-Abschnitt steht nix von prefork.c, alles nur *.so.
Aber:

/usr/sbin/httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

Also sollte

<IfModule prefork.c>
StartServers 1
MinSpareServers 1
....
</IfModule>

wirken, tut's aber wohl nicht. Ich habe immer 8 httpd-Prozesse. Märkwürzig.

Ralph