Hallo Liste, habe einen webserver mit apache laufen und ca. 190 vhosts eingerichtet. laeuft auch super. jetzt hatte ich einen zweiten rechner, und habe deren vhosts mit auf ersteren gelegt. anzahl jetzt 310. leider habe ich jetzt eine fehlermeldung bei der ausfuehrung aller cgis und auch teilweise php-skripten: ------------ schnipp Warning: fopen(__FILENAME__): failed to open stream: Too many open files in __FILENAME_INCLUDE_FROM__ on line XYZ ------------ schnapp System ist SuSE 9.1 mit aktuellem apache2-2.0.49-27.5. Der Fehler laesst sich auch nach Reduzierung der VHosts wieder eleminieren. Scheint also einzig und allein daran zu liegen. Hat jemand ein aehnliches Problem? Danke, rene Rene Hoffmann ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.r-hoffmann.de -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Weitere Infos: siehe http://www.gnupg.org mQGiBD6BtsYRBACeSKoXgooC2eEaR/yozRT0mDr88yRmZUQpkIE8Hfrqub63FPFL hEXcb/xXgGPClYH43GTEw6IJdV8VA7ONq/IsYG0McyA5AWllh2PsgsIf3gxzrZRq /uYhE9+LshEV72iV+QHe57+EyQIuAFBikb70yV/MJIzyQ0rK1ebV8flHcwCg/0zL La9lbhU99hdPLgXB8CJjaCED/16Qfte3tWxaao24L37sROiDLvpxbXKUslVRVwy5 k0j1SrIY+7PoPemik3TyZdH+kOdhgx4mncIs/W200YghlWtTgXF/L7iM+m4uUJwM mEhsU1gCKiMdPxFLiECOpC5NxRyHXSS1My7+G6Yoqt6NsXGez/6mf5QyUJc2AXjW mmgsA/0dNvay1ok9OY3xBA/29qZs/VzB5jY35+kG1VWLOjdq53HGlRgCwDOpHrRR TzV+uiWqQkOefcu30FA0LFPqc6kp9+kJzp4CW8/IPsknJ/lRMojJL5YmoTVu/Fpf tHRizv3ruYU3NtcoSoPBT/1YPPJW3LksRbyttKs52D8WE5fpLbQiUmVuZSBIb2Zm bWFubiA8cmVuZUByLWhvZmZtYW5uLmRlPohXBBMRAgAXBQI+gbbGBQsHCgMEAxUD AgMWAgECF4AACgkQ81OQR9uYH8aYNwCfYNkZha4BPLgFqYXKz7sSm96eIiIAniER nliHyMK5Ptni2RqeiX5ICbo7uQENBD6BtssQBADwWjqLJclEiA0WzDfcxshoKfi9 mSEGnSnYs3Qot3DSI2h86BFD9twqCAdv5h4GppVZsEblRAi8ZCwcpN2fvGxmZn05 Cr+H/CGCXEI5KUdM5SbFzHIa4SFpv+SC3aTc2EIRM7c7OiuSNJ6jUCzcLZ+VxfpI zoLaR5BDbLcm9O71bwADBwQA6sdYaLhFcGD0x+EPNuwmfxrluJdt4NLHk9bueA1i YZ05QPJKWsb2FUNKTBUU2ViznKVKypv9RiK3WgiLMrLH/D5tzgQdml5/3XbUnQB+ Q5Q7Z3RG9gy/gLqpXvCM4FvQLZoQ1ayQt0fM9CKGLRCed5cmdBeXZQQp12MePpXo YkCIRgQYEQIABgUCPoG2ywAKCRDzU5BH25gfxptSAKCelIYkRlDkuHMGIgq2NUOw /LiZegCggAbT/t92Q5gphQKgK689KW6l1qQ
Hallo, Hallo, Rene Hoffmann schrieb am Mittwoch, 28. Juli 2004 um 21:48:
Hat jemand ein aehnliches Problem?
http://www.xwolf.de/artikel/domain_limits.shtml Gruss, Andreas
Danke Andreas, jetzt verstehe ich das Problem. Leider ist aber keiner der Loesungsvorschlaege wirklich praktikabel. Wie ja die Apachen selbst schreiben. Meine Vhosts sind alle sehr individuell. Da komme ich dann mit mod_vhost_alias nicht weiter. ulimit steht auf unlimited. klar, es liegt wohl daran, dass alle vhosts ein eigenes Logfile mittels cronolog schreiben. Vielleicht waere es eine Loesung mehrer Apacheserver gleichzeitig mit verschiedenen "Listen" laufen zu lassen. Ich habe die Vhosts naemlich auf zwei IPs auf dem Server liegen. Leider ist mein Versuch neben dem apache2 noch einen weiteren apache-prozess ans laufen zu bekommen fehlgeschlagen. hat jemand ne idee, wie man das machen kann? Vielen Dank, rene
Hallo,
Hallo,
Rene Hoffmann schrieb am Mittwoch, 28. Juli 2004 um 21:48:
Hat jemand ein aehnliches Problem?
http://www.xwolf.de/artikel/domain_limits.shtml
Gruss, Andreas
-- Rene Hoffmann ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.r-hoffmann.de -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Weitere Infos: siehe http://www.gnupg.org mQGiBD6BtsYRBACeSKoXgooC2eEaR/yozRT0mDr88yRmZUQpkIE8Hfrqub63FPFL hEXcb/xXgGPClYH43GTEw6IJdV8VA7ONq/IsYG0McyA5AWllh2PsgsIf3gxzrZRq /uYhE9+LshEV72iV+QHe57+EyQIuAFBikb70yV/MJIzyQ0rK1ebV8flHcwCg/0zL La9lbhU99hdPLgXB8CJjaCED/16Qfte3tWxaao24L37sROiDLvpxbXKUslVRVwy5 k0j1SrIY+7PoPemik3TyZdH+kOdhgx4mncIs/W200YghlWtTgXF/L7iM+m4uUJwM mEhsU1gCKiMdPxFLiECOpC5NxRyHXSS1My7+G6Yoqt6NsXGez/6mf5QyUJc2AXjW mmgsA/0dNvay1ok9OY3xBA/29qZs/VzB5jY35+kG1VWLOjdq53HGlRgCwDOpHrRR TzV+uiWqQkOefcu30FA0LFPqc6kp9+kJzp4CW8/IPsknJ/lRMojJL5YmoTVu/Fpf tHRizv3ruYU3NtcoSoPBT/1YPPJW3LksRbyttKs52D8WE5fpLbQiUmVuZSBIb2Zm bWFubiA8cmVuZUByLWhvZmZtYW5uLmRlPohXBBMRAgAXBQI+gbbGBQsHCgMEAxUD AgMWAgECF4AACgkQ81OQR9uYH8aYNwCfYNkZha4BPLgFqYXKz7sSm96eIiIAniER nliHyMK5Ptni2RqeiX5ICbo7uQENBD6BtssQBADwWjqLJclEiA0WzDfcxshoKfi9 mSEGnSnYs3Qot3DSI2h86BFD9twqCAdv5h4GppVZsEblRAi8ZCwcpN2fvGxmZn05 Cr+H/CGCXEI5KUdM5SbFzHIa4SFpv+SC3aTc2EIRM7c7OiuSNJ6jUCzcLZ+VxfpI zoLaR5BDbLcm9O71bwADBwQA6sdYaLhFcGD0x+EPNuwmfxrluJdt4NLHk9bueA1i YZ05QPJKWsb2FUNKTBUU2ViznKVKypv9RiK3WgiLMrLH/D5tzgQdml5/3XbUnQB+ Q5Q7Z3RG9gy/gLqpXvCM4FvQLZoQ1ayQt0fM9CKGLRCed5cmdBeXZQQp12MePpXo YkCIRgQYEQIABgUCPoG2ywAKCRDzU5BH25gfxptSAKCelIYkRlDkuHMGIgq2NUOw /LiZegCggAbT/t92Q5gphQKgK689KW6l1qQ
Hallo, Rene Hoffmann schrieb am Donnerstag, 29. Juli 2004 um 12:16:
Meine Vhosts sind alle sehr individuell. Da komme ich dann mit mod_vhost_alias nicht weiter. ulimit steht auf unlimited. klar, es liegt wohl daran, dass alle vhosts ein eigenes Logfile mittels cronolog schreiben.
Warum splittest du nicht, wie es vorgeschlagen wurde? Ist meinen Augen die einfachste Sache.
Leider ist mein Versuch neben dem apache2 noch einen weiteren apache-prozess ans laufen zu bekommen fehlgeschlagen. hat jemand ne idee, wie man das machen
Bei mir laufen drei verschiedene Apache-Instanzen. Da sie alle speziell konfiguriert sind, habe ich den Apache2 halt dreimal installiert: /usr/local/apache2/, /usr/local/apache2-php5 und /usr/local/apache2-svn. Sonst musst du halt die Konfigurationsscripts verdreifachen und die Init-Scripts anpassen. Dann sollte das schon gehen... Aber wie im Artikel richtig gesagt wird: Du verschiebst das Limit ins OS, statt die Anzahl der Filedescriptoren zu senken. Sinnvoll? Gruss, Andreas
Hallo Andreas, ....
Warum splittest du nicht, wie es vorgeschlagen wurde? Ist meinen Augen die einfachste Sache.
Weil ich AWStats stuendlich laufen lasse, und die Kunden dadurch relativ aktuelle Zahlen haben. ....
Bei mir laufen drei verschiedene Apache-Instanzen. Da sie alle speziell konfiguriert sind, habe ich den Apache2 halt dreimal installiert: /usr/local/apache2/, /usr/local/apache2-php5 und /usr/local/apache2-svn.
unter 9.1?
Sonst musst du halt die Konfigurationsscripts verdreifachen und die Init-Scripts anpassen. Dann sollte das schon gehen...
Eben dieses habe ich versucht. /etc/init.d/apache2 nach /etc/init.d/apache2.1 kopiert und geaendert. /etc/apache2 nach /etc/apache2.1 kopiert und geaendert. /etc/sysconfig/apache2 nach /etc/sysconfig/apache2.1 kopiert und geaendert. sogar /usr/share/apache2/load_configuration habe ich geclont. Aber Dolly will nicht. Sobald ich /etc/init.d/apache2.1 start sage, versucht das Skript nochmals apache2 zu starten und macht folglich gar nix, wenn dieser schon laeuft.
Aber wie im Artikel richtig gesagt wird: Du verschiebst das Limit ins OS, statt die Anzahl der Filedescriptoren zu senken. Sinnvoll?
Das stimmt schon, nur bin ich der Meinung mit: cat /proc/sys/fs/file-nr 2460 0 65536 und cat /proc/sys/fs/inode-state 83091 64 0 0 0 0 0 muesste der Server noch genug Kapazitaet haben um mehr Vhosts aufzunehmen. Ich trau dem OS! ;-) gruss rene Rene Hoffmann ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.r-hoffmann.de
Hi,
Rene Hoffmann
Hallo Andreas,
....
Warum splittest du nicht, wie es vorgeschlagen wurde? Ist meinen Augen die einfachste Sache.
Weil ich AWStats stuendlich laufen lasse, und die Kunden dadurch relativ aktuelle Zahlen haben.
Das sind dann die Kunden, die auf ihren eigenen Seiten den gross- teil des Traffics erzeugen, weil sie alle x Sekunden nachsehen muessen, ob schon wieder ein neuer User zugegriffen hat.
....
Bei mir laufen drei verschiedene Apache-Instanzen. Da sie alle speziell konfiguriert sind, habe ich den Apache2 halt dreimal installiert: /usr/local/apache2/, /usr/local/apache2-php5 und /usr/local/apache2-svn.
unter 9.1?
Sonst musst du halt die Konfigurationsscripts verdreifachen und die Init-Scripts anpassen. Dann sollte das schon gehen...
Eben dieses habe ich versucht. /etc/init.d/apache2 nach /etc/init.d/apache2.1 kopiert und geaendert. /etc/apache2 nach /etc/apache2.1 kopiert und geaendert. /etc/sysconfig/apache2 nach /etc/sysconfig/apache2.1 kopiert und geaendert. sogar /usr/share/apache2/load_configuration habe ich geclont. Aber Dolly will nicht. Sobald ich /etc/init.d/apache2.1 start sage, versucht das Skript nochmals apache2 zu starten und macht folglich gar nix, wenn dieser schon laeuft.
Das ist ja nett, dass Du die gesamte Config deines Indianers geaendert hast, aber die Startscripte wurden von dir nicht angefasst? Da in diesen (dann zwei Scripten) aber mittels startproc immer noch "nur" ein Binary gestartet werden soll, schlaegt dieses fehl. Falls Du eine solche Loesung anstrebst, solltest Du ebenfalls die fuer den Apache notwendigen Binaries kopieren (am Besten in ein anderes Verzeichnis) und dann das Startscript fuer die zweite Instanz anpassen. Diese Loesung wuerde ich aber als quick and dirty bezeichnen. Keine Garantie, dass das auch laeuft.
Aber wie im Artikel richtig gesagt wird: Du verschiebst das Limit ins OS, statt die Anzahl der Filedescriptoren zu senken. Sinnvoll?
Das stimmt schon, nur bin ich der Meinung mit:
cat /proc/sys/fs/file-nr 2460 0 65536
und
cat /proc/sys/fs/inode-state 83091 64 0 0 0 0 0
muesste der Server noch genug Kapazitaet haben um mehr Vhosts aufzunehmen.
Ich trau dem OS! ;-)
Ansonsten koenntest Du ja das ErrorLog des Apache von allen Vhosts in nur eine einzige Datei umlenken. Erspart viele viele open files und ist evtl. fuer den Admin auch einfacher, da er nur in einer Datei nach Fehlern suchen muss.
gruss rene
Rene Hoffmann
Cheers Sven -- Why You Can't Find Your System Administrator: "You *have* a system administrator ?" --[Simon Burr simes@tcp.co.uk] ------------------------------------------------------[rand. sig. #28]
Hallo, Rene Hoffmann schrieb am Donnerstag, 29. Juli 2004 um 13:17:
Weil ich AWStats stuendlich laufen lasse, und die Kunden dadurch relativ aktuelle Zahlen haben.
/etc/cron.hourly? Script reinklatschen, dass dir das Zeugs zuerst rotiert und dann AWStats aufruft. Ich brauch sowas sowieso, damit ich noch logresolve vorher starten kann. Aber ich weiss nicht, wie du das machst. Ich bin ja der Meinung, einmal pro Halbtag oder einmal am Tag reicht, aber das ist dann deine Sache ;) - Zumal es niemanden stört, wenn nachts um 04:00 mal die Kiste unter Vollast geht.
unter 9.1?
Tue ich mir nicht an. Ich bin auch der Meinung, dass meine Suse 9.0 Installation ein Fehler war, ich bin nur etwas zu faul, auch noch im Intranet ein Debian zu verwalten. Schon genug zu tun. Zudem: Alles Eigenkompilate. Konnte mich bisher nie mit Paketen vom Distributor anfreunden. Etwas hat immer gefehlt, es wurde nicht ausreichend gepatcht oder die Pakete waren nicht aktuell.
geaendert. sogar /usr/share/apache2/load_configuration habe ich geclont. Aber
Dolly will nicht. Sobald ich /etc/init.d/apache2.1 start sage, versucht das Skript nochmals apache2 zu starten und macht folglich gar nix, wenn dieser schon laeuft.
Du musst alle Pfade anpassen und v.a. darauf achten, dass eine andere httpd.conf gelesen wird. Ich würde ja apachectl nehmen und mit -f die neue httpd.conf spezifizieren. Gruss, Andreas
Hi Andreas, ...
/etc/cron.hourly? Script reinklatschen, dass dir das Zeugs zuerst rotiert und dann AWStats aufruft. Ich brauch sowas sowieso, damit ich noch logresolve vorher starten kann. Aber ich weiss nicht, wie du das machst.
Ich bin ja der Meinung, einmal pro Halbtag oder einmal am Tag reicht, aber das ist dann deine Sache ;) - Zumal es niemanden stört, wenn nachts um 04:00 mal die Kiste unter Vollast geht.
Das stimmt schon. Es ist aber ein Teil des Services, dass die Stats maximal eine Stunde alt sind. und stuendlich rotieren kann ich nicht. ich brauch die power fuer den indianer. Klar, nachts langweilt der sich so und so. aber da laufen dann backups und so weiter.
unter 9.1?
Tue ich mir nicht an. Ich bin auch der Meinung, dass meine Suse 9.0 Installation ein Fehler war, ich bin nur etwas zu faul, auch noch im Intranet ein Debian zu verwalten. Schon genug zu tun.
Ja, der Meinung bin ich nun auch. Aber Debian zu verwalten ist wesentlich einfacher, als dieses SuSE-Windows. Nur kann man einmal angefangen nicht nur mal eben alle Webserver auf Debian umstellen,
Zudem: Alles Eigenkompilate. Konnte mich bisher nie mit Paketen vom Distributor anfreunden. Etwas hat immer gefehlt, es wurde nicht ausreichend gepatcht oder die Pakete waren nicht aktuell.
Ich habs jetzt mit dem Originalen SuSE-RPM versucht. Specfile geandert und rpmbuild drueber. Aber der straeubt sich auch noch. Bis jetzt hatte ich immer alles drin in den SuSE-RPMs. Ich kann mich nicht erinnern, dass da mal was gefehlt hat, was ich auch noch benoetigte. und die neuesten [cvs-]builds nehme ich eh nie. soll ja auch noch stabil laufen. ;-)
geaendert. sogar /usr/share/apache2/load_configuration habe ich geclont. Aber
Dolly will nicht. Sobald ich /etc/init.d/apache2.1 start sage, versucht das Skript nochmals apache2 zu starten und macht folglich gar nix, wenn dieser schon laeuft.
Du musst alle Pfade anpassen und v.a. darauf achten, dass eine andere httpd.conf gelesen wird. Ich würde ja apachectl nehmen und mit -f die neue httpd.conf spezifizieren.
Ja, die httpd.conf kann man in /etc/sysconfig/apache2.1 aendern. Das habe ich auch getan. Aber trotzdem der zweite prozess macht keinen mucks.
Gruss, Andreas
Und ich will am Samstag in den Urlaub. Da muss das Ding vorher 1a laufen. gruesse rene Rene Hoffmann ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.r-hoffmann.de
Hallo, Rene Hoffmann schrieb am Donnerstag, 29. Juli 2004 um 14:36:
Das stimmt schon. Es ist aber ein Teil des Services, dass die Stats maximal eine Stunde alt sind. und stuendlich rotieren kann ich nicht. ich brauch die power fuer den indianer. Klar, nachts langweilt der sich so und so. aber da laufen dann backups und so weiter.
Na dann...
Ja, der Meinung bin ich nun auch. Aber Debian zu verwalten ist wesentlich einfacher, als dieses SuSE-Windows. Nur kann man einmal angefangen nicht nur mal eben alle Webserver auf Debian umstellen,
Das sicher. Nur das Problem ist: Ich müsste die Kiste neu aufsetzen und dazu habe ich keine Lust ;)
Ja, die httpd.conf kann man in /etc/sysconfig/apache2.1 aendern. Das habe ich auch getan. Aber trotzdem der zweite prozess macht keinen mucks.
/usr/sbin/httpd2 -f /pfad/zur/httpd.conf Wenn er nicht in der Prozesstabelle auftaucht, mal den Inhalt vom error_log zeigen.
Und ich will am Samstag in den Urlaub. Da muss das Ding vorher 1a laufen.
Das kriegen wir schon noch hin. Gruss, Andreas
Hallo Andreas, vielen Dank fuer Deine Hilfe. Wie Du wahrscheinlich gemerkt hast war ich in der Zwischenzeit schon im Urlaub. ;-) Die Sache hat super geklappt. Die Startskripte waren etwas wuselig ( nachts halb zwoelf, einen Tag vor der Abreise, da lags wohl an mir), aber apache2 startet jetzt mit "-f /etc/apache2/http1.conf", und ich habe beide Prozesse wunderbar nebeneinander laufen. Vielen Dank und viele Gruesse aus Koeln, rene
Hallo,
Rene Hoffmann schrieb am Donnerstag, 29. Juli 2004 um 14:36:
Das stimmt schon. Es ist aber ein Teil des Services, dass die Stats maximal eine Stunde alt sind. und stuendlich rotieren kann ich nicht. ich brauch die power fuer den indianer. Klar, nachts langweilt der sich so und so. aber da laufen dann backups und so weiter.
Na dann...
Ja, der Meinung bin ich nun auch. Aber Debian zu verwalten ist wesentlich einfacher, als dieses SuSE-Windows. Nur kann man einmal angefangen nicht nur mal eben alle Webserver auf Debian umstellen,
Das sicher. Nur das Problem ist: Ich müsste die Kiste neu aufsetzen und dazu habe ich keine Lust ;)
Ja, die httpd.conf kann man in /etc/sysconfig/apache2.1 aendern. Das habe ich auch getan. Aber trotzdem der zweite prozess macht keinen mucks.
/usr/sbin/httpd2 -f /pfad/zur/httpd.conf
Wenn er nicht in der Prozesstabelle auftaucht, mal den Inhalt vom error_log zeigen.
Und ich will am Samstag in den Urlaub. Da muss das Ding vorher 1a laufen.
Das kriegen wir schon noch hin.
Gruss, Andreas
-- Rene Hoffmann ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.r-hoffmann.de
participants (3)
-
Andreas Ahlenstorf
-
Rene Hoffmann
-
Sven Pfeifer