• PHP dla Nginx w 5 minut

    dodany przez Przemysław Sikora

    W tym krótkim tutorialu, chciałbym przybliżyć wszystkim prostą metodę na “uzbrojenie” naszego Nginx-a w obsługę skryptów PHP. Omawiany serwer www nie posiada modułu do obsługi PHP, tak jak to jest w przypadku Apacha. Musimy posiłkować się CGI, a najlepiej fastCGI. Przystępujemy do instalacji. Sprawdźmy, czy mamy włączone repozytorium EPEL, gdzie znajdziemy wszystkie niezbędne pakiety (zakładam, że PHP jest już zainstalowane w systemie). Do dzieła:

    yum install spawn-fcgi

    Tworzymy skrypt do uruchamiania. ….Tak wiem istnieje w systemie już skrypt startowy dostarczony wraz z pakietem, ale ja wolę skorzystać z własnego “startera”. Oczywiście można użyć polecenia “service spawn-fcgi start”. Uprzednio jednak należy skonfigurować powyższą usługę w pliku “/etc/sysconfig/spawn-fcgi”. Poniżej prezentuję własny skrypt uruchomieniowy:

    #!/bin/bash
    PHP_SCRIPT=”/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -f /usr/bin/php-cgi”
    RETVAL=0
    case “$1” in
    start)
    $PHP_SCRIPT
    RETVAL=$?
    ;;
    stop)
    killall -9 php
    RETVAL=$?
    ;;
    restart)
    killall -9 php
    $PHP_SCRIPT
    RETVAL=$?
    ;;
    *)
    echo “Działające komendy: php {start|stop|restart}”
    exit 1
    ;;
    esac
    exit $RETVAL

    Nadajemy prawa wykonywalności

    chmod +x nazwa_skryptu

    Startujemy

    ./nazwa_skryptu start

    Teraz czas na skonfigurowanie vhosta do obsługi php. Edytujemy plik “/etc/nginx/conf.d/virtual.conf”. Poniżej prezentuję przykładowy config dla strony http://6.centos.pl:

    server {
    listen 80;
    server_name 6.centos.pl;
    location / {
    root /www/6.centos.pl/html/;
    autoindex on;
    }
    location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME /www/6.centos.pl/html$fastcgi_script_name;
    }
    }

    Zapisujemy i restartujemy nginx-a.

    service nginx start

    Mam nadzieję, że choć trochę udało mi się przybliżyć szybki sposób na uruchomienie obsługi php dla nginx-a. W razie pytań / problemów zapraszam na nasze forum. Powodzenia 🙂

3 komentarze do “PHP dla Nginx w 5 minut”

  1. michas100 pisze:

    Dzięki za artykuł dodać, że nginx dużo szybszy od apache… niestety… jednak jak się ma obsługa https?

  2. centos pisze:

    Obsługuje bez problemu. Nginx nie jest dużo szybszy od Apache. Są porównywalne, wszystko zależy od konkretnego zastosowania.

  3. Shamar pisze:

    Porównywalne? Nie bardzo – przy tych samych obciążeniach apache zużywa o wiele więcej zasobów serwera.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony