Apache ve nginx arasındaki PHP-CGI Paylaşım

1 Cevap php

Ben nginx tarafından sunulan bir Fastcgi arka uç, benim web sitesinde benim PHP uygulamalar çoğu çalışan oldum. Ben oldukça iyi Apache ile entegre görünüyor yeni bir uygulama var; örneğin, dinamik yazılmıştır. htaccess dosyaları bağımlı bulunuyor. Ben nginx yerli ile çalışmak için değiştirmeye çalışıyorum, ama henüz hazır değil. Bu arada, ben nginx proxy düz Apache için bu yol tüm bağlantıları var, ve Apache halledeyim gidiyordu.

Ancak, ben bir bellek sınırlı VPS değilim, ve ben oldukça (kendi APC önbellek) nginx ve başka Apache için (daha fazla bellek kullanarak their için PHP-CGI süreçleri kümesi çalıştırmak istiyorum APC cache). Herkes ikisi arasında PHP paylaşımı herhangi bir şans oldu?

MOD_ fcgid zaten çalışan sunucuları kullanarak desteklemek için görünmüyor, bu yüzden MOD_ fastcgi çalıştı. Bu ilk başta çalışmak gibiydi, ancak bellek epey bir emme oldu (taahhüt - sadece statik değil, büyüyen). Daha da kötüsü, ben mod_fastcgi ile çalışmak benim apache biçimlendirimleri yılında DirectoryIndex hat alamadım!

Ben eklendi

    AddHandler php5-fastcgi .php
    FastCgiExternalServer /var/www -host 127.0.0.1:9000

benim Apache yapılandırma, ve tüm. php sayfaya işlenir, fakat böyle bir yol http://example.com/foo/ değil sunucu / foo / index.php yok! Ben FastCgiExternalServer kaldırırsanız, o zaman index.php bulur, ama tabii sadece metin olarak gösterir.

Ben DirectoryIndex FastCgiExternalServer sonra işlenir çünkü bu varsayarak yaşıyorum, ama bu nasıl değiştirilebilir hiçbir fikrim yok.

1 Cevap

Sorun çözüldü. Hüner aşağıdaki satırları kullanmak oldu

FastCGIExternalServer /var/www/fast-cgi-fake-handler -host 127.0.0.1:9000
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /fast-cgi-fake-handler

Eylem + içinde göreli yol FastCGIExternalServer içinde tam yol yaptım!