![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 17:26 |