Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Apache + mod_fastcgi + php-fpm - jak używać?
elektrrrus
post
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 18
Dołączył: 11.06.2007
Skąd: Koszalin/Poznań

Ostrzeżenie: (0%)
-----


Witam

Chciałbym się zapytać bardziej doświadczonych kolegów w jaki sposób używają takiego połączenia. Pierwsza możliwość jaką znalazłem, to użycie dyrektywy FastCgiExternalServer i przekierowanie przez nie wywołań na fpm nasłuchujące na jakimś porcie lub sockecie. Problem w tym, że nie udało mi się zmusić apacha do przekierowania na fpm tylko rządań o pliki .php, i uparcie wysyła wszystko na interpereter php. Nie muszę chyba wspominać że nie o to chodziło. Mimo kombinacji takich jak opisanych na http://devrandom.pl/blog/2009/05/09/apache...cgi-spawn-fcgi/ (nieistniejący w systemie plików handler) nie udało mi się tego zmusić do poprawnej pracy. Druga metoda jest opisana na np: http://www.cyberciti.biz/tips/rhel-centos-...figuration.html Tworzomy tutaj plik z wywołaniem php_fpm jako wykonywalny skrypt basha i skorzystanie z klasycznego przekierowania jako cgi. To działa, ale czy nie tracę na tym wydajości? Wydaje mi się że po to była idea zdemonizowania php i łączenia się do niego przez socket albo port, żeby teraz wracać z powrotem do wykonywalnego pliku.
Niestety musze użyć apache, z nginx działa to bezproblemowo, ale nic na to nie poradzę. Czy macie może jakieś swoje doświadczenia w tej kwestii? Może da się jakoś zmusić apache żeby działał prawidłowo z FastCgiExternalServer ?

EDIT: Wpakowanie FastCgiExternalServer do bolku files wybierającego tylko pliki php skutuje błedem: FastCgiExternalServer not allowed here


Problem dawno rozwiązany, trzeba było skorzystać z "wirtualnego" handlera cgi-bin w postaci nieistniejącego pliku, podeśle linka jak to wygrzebie, w każdym razie zasada działania była troche inna niż to rozwiązanie z http://devrandom.pl

Ten post edytował elektrrrus 13.02.2011, 11:03:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pustka
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


Wygląda na to że przy kolejnym podejściu udało mi się uzyskać działające rozwiązanie łącząc zawartość dwóch stron:

http://personal.x-istence.com/post/2010/11...and-php-php-fpm
Stąd wziąłem konfigurację fastcgi:
Kod
<IfModule mod_fastcgi.c>
        Alias /php5.fcgi /var/www/fastcgi/php5.fcgi
        FastCGIExternalServer /var/www/fastcgi/php5.fcgi -flush -host 127.0.0.1:9000
        AddType application/x-httpd-fastphp5 .php
        Action application/x-httpd-fastphp5 /php5.fcgi

        <Directory "/var/www/fastcgi/">
                Order deny,allow
                Deny from all
                <Files "php5.fcgi">
                        Order allow,deny
                        Allow from all
                </Files>
        </Directory>
</IfModule>


http://blog.danguer.com/2011/10/10/install...pm-and-apache2/
A stąd poradę o rewrite rule (z racji że używam drupala, bez tego miałem pętle):

Kod
RewriteRule ^fastcgi/php5.fcgi - [L,NC]


Teraz czeka mnie sprawdzenie czy na serwerze produkcyjnym gdzie do konfiguracji dochodzą virtual hosty będzie to śmigać.
Dam znać jakie będą tego efekty, ale to pewnie po nowym roku dopiero.

A jeśli chodzi o fpm, to czy faktycznie warto używać unixowego socketa ? (listen = /var/run/php-fpm.socket) Na, jednej ze stron spotkałem się ze stwierdzeniem że jest to szybsze rozwiązanie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 17:26