[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

apache 2 ve php fsockopen sorunu



Selamlar;

Biraz uzun yazıyorum, olayı tam olarak yansıtabilmek için...

Linux 2.6.10 sürümü ve Apache 2 kullanan bir sistemim mevcut, apache
sistemin üzerinde 500 adet virtual host yaratıyorum.

Hostları httpd.conf dosyası içine include ile farklı config dosyalarından
alıyorum.

Her virtual host için Error_log ve Custom_log olarak 2 farklı log dosyası
tutuluyor.

Yani apache start dediğimizde 500 civarında config dosyası okuyor, ve her
apache child'i 500 * 2(log dosyaları) 1000 civarında da log dosyasına
erişerek işlem yapıyor.

Eğer ulimit ile open file limit'i yüksek birşey vermez isem apache ana log
dosyasına logları açamadım şeklinde bir hata mesajı vererek start etmiyor.

Buraya kadar herşey normal.

Ulimit ile open file limit'i yükseltiyor ve apache'yi start ediyorum. Ve
sorun yok, herşey çalışıyor.

Apache üzerinde PHP mevcut, php ile çok basit bir kod yazıyorum. Fsockopen
ile farklı bir yere erişerek ufak bir okuma işlemi yapması gerekiyor.

PHP socket işlemini yapmıyor, fsockopen çalışmıyor ve apache'nin timeout'una
takılarak fatal error veriyor ekrana.

Aynı kodu aynı sistem üzerinde hiç bir virtualhost config dosyasını
eklemeden yani virtualhost açmadan deniyorum. Sorunsuz işleniyor. 

Aynı kodu virtualhost sayısını düşürerek çalıştırıyorum ve yine çalışıyor.

Şimdi burada sanki file-max limitinde bir sorun varmış gibi geliyor.

Apache 2 yi iptal ediyorum, Apache 1.3 kuruyorum, tüm configler aynı şekilde
duruyor ekstra hiç birşey dahil etmiyorum. Ve tüm virtualhostları açıyorum,
Sonuç süper sorunsuz. Hatta abartıyorum rasgele 1000 civarında virtualhost
daha ekliyorum ve yine sorunsuz fsockopen çalışıyor.

Fakat Apache2 kurduğumuzda fsockopen çalışmaktan vaz geçiyor.

Bu konuda pek çok manual inceledim, hepsinde kernel.sys.fs.file-max limitini
yüksek verin vs gibi açıklamalar mevcut, fakat hiç biri işe yaramıyor.

Bu arada aynı sorunu kernel 2.4.x tabanlı sistemde de aynı şekilde
yaşıyorum.

(Apachelerin tamamını derlerken hard_limit'i yüksek bir değer veriyorum.
Zaten konunun bununla bir ilgisi de yok.)

Sorun hakkında çözümü yada fikri olan var ise fikirlerinizi rica ediyorum.

Saygılar;
 
Levent YALÇIN
System Administrator
 
SadeceHosting Internet Hizmetleri
Büyükdere cad. Yonca Apt. No : 151
K:5 D:27 Zincirlikuyu/IST
p : +90 (212) 356 5676
f : +90 (212) 356 5675
www.sadecehosting.com




Reply to: