Skocz do zawartości
elempl

NGINX - problem z interpretacją PHP

Polecane posty

Witajcie koledzy,

mam problem z moim serwerem dedykowanym mianowicie do tej pory obsługiwał on wyłącznie jedną stronę jednak ostatnio podpiąłem do niego drugą domenę i chcę odpalić kolejną stronę na nim - wszystko gra i buczy gdyby nie to, że nginx przy tej domenie nie wykonuje plików PHP tzn. przeglądarka po wejściu na stronę pobiera całe źródło pliku php...

 

Będę wdzięczny za rzeczową pomoc.

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
server {
    listen   80;
    server_name twoja-domena.pl www.twoja-domena.pl; #nazwa domeny
    access_log /var/log/access.log; #access logi
    error_log /var/log/error.log; # error logi
    server_tokens off; # ukrywa wersje nginx-a


    location / {
        root   /var/www; # katalog root strony www
        index  index.html index.php; # jakie plik sa indeksem strony
    }




    location ~ \.php$ {
        root /var/www; # katalog root strony www
        set $script  $uri;
        set $path_info  "";
        if ($uri ~ "^(.+\.php)(/.+)") {
          set $script  $1;
          set $path_info  $2;
        }
        include /etc/nginx/fastcgi_params;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$script;
        fastcgi_param  SCRIPT_NAME  $script;
        fastcgi_param  PATH_INFO  $path_info;
        }


}

do configu nginxa

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zatem jak wg. Ciebie powinno wyglądać rozwiązanie tego problemu ? :D

 

Na pewno nie tak. W Twoim kodzie, wszystkie żądania do plików PHP kierujesz do jednej puli FPM, co powoduje, że wszystko będzie uruchamiane z poziomu jednego usera.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Też mi raz się tak zrobiło,

robiłem według tego: http://www.binarytides.com/install-nginx-php-fpm-mariadb-debian/

 

Jakiś restart, coś tam gdzieś i poszło. Rób uważnie, Linux jest cholernie upierdliwy, że gdzieś tam coś tam i już nie działa.

Testuj config też nginx -t.

 

U mnie wykomentowałem też fastcgi_pass 127.0.0.1:9000;

 

Edytowano przez Sponsi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Zrób to najprościej jak można czyli w oparciu o FPM dodając drugą "pule" i jakiś prosty konfig do vhosta by Nginx wiedział co uruchomić:

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass    127.0.0.1:9001;
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
}

Poszukaj w google: howto php fpm nginx

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zrób to najprościej jak można czyli w oparciu o FPM dodając drugą "pule" i jakiś prosty konfig do vhosta by Nginx wiedział co uruchomić:

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass    127.0.0.1:9001;
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
}

Poszukaj w google: howto php fpm nginx

 

 

 

Dodałem, dokładnie ten wpis do konfiguracji VHOSTA i teraz mam 502 bad gateway :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A port puli FPM się zgadza?

 

Generalnie pierwsza strona hula na takich ustawieniach (czyli socket unix):

 

 

location ~ \.php$ {

include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

 

natomiast obecna którą usiłuję skonfigurować ma ustawienia dokładnie takie jak w zacytowanym przeze mnie poście kolegi wyżej. Jednak kiedy zmieniam ustawienia również na socket unix to juz nie pobiera źródła pliku ale również nie pokazuje strony.... :(

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A w konfiguracji puli FPM ustawienia masz poprawne? Port ew. socket się zgadza?

 

w etc/php5/fpm/pool.d/www.conf

 

mam:

 

 

listen = /tmp/php5-fpm.sock

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Poczytaj, pomyśl jak to zrobić, albo zleć komuś, bo to inaczej będzie droga przez mękę.

 

Masz jedną stronę na www.conf, to teraz tworzysz www2.conf, podmieniasz użytkowników i nasłuch dla FPM polecany jest TCP zamiast socket.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dziękujemy za opisanie rozwiązania.

 

Zapłaciłem komuś kto ma o tym większe pojęcie ode mnie...

 

Bardzo proszę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Nie zrozumiałeś mnie, dobrą praktyką na forach jest podawanie rozwiązania na swój problem, jeśli dojdziesz do tego rozwiązania. Co prawda zapłaciłeś, ale możesz spróbować poprosić o jednozdaniowe wytłumaczenie pod kątem tego wątku. Byłoby miło.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Raczej autor się nie obrazi jak napiszę, że aktywowany był interpreter php po sockecie TCP, podczas gdy pool miał socket unixowy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Raczej autor się nie obrazi jak napiszę, że aktywowany był interpreter php po sockecie TCP, podczas gdy pool miał socket unixowy.

 

Nie obrażam się :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×