Strona główna Kontakt Galeria RSS

Instalujemy Nginx'a + PHP

W dzisiejszym artykule będę chciał wam przybliżyć trochę instalacje tego naprawdę szybkiego serwera www Nginx i dodania mu obsługi PHP (Wiem że jest tego w miare dużo w sieci).
Na pewno pierwszym krokiem jaki będzie trzeba wykonać będzie oczywiście zainstalowanie serwera. W takim razie wykonamy polecenie:

sudo apt-get install nginx

Następnie będziemy musieli zainstalować php5-cgi i coś dzięki czemu udostępnimy PHP dla nginx'a czyli spawn-fcgi, wykonujemy:

sudo apt-get install php5-cgi spawn-fcgi

Teraz możemt przejść do najważniejszej rzeczy czyli konfiguracji nginx'a. Otwieramy zatem nasz plik konfiguracyjny:

sudo nano /etc/nginx/sites-enabled/default

Zastępujemy jego całą zawartość tym kodem:
server {
        listen   80;
        server_name  NAZWA_SERWERA;
 
        access_log  SCIEZKA_LOGOW/acces_log.log;
 
        location / {
                root   ROOT_PATH;
                index  index.php index.html index.htm;
        }
 
        location ~ .php$ {
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
 
          fastcgi_param  SCRIPT_FILENAME  ROOT_PATH$fastcgi_script_name;
          fastcgi_param  QUERY_STRING     $query_string;
          fastcgi_param  REQUEST_METHOD   $request_method;
          fastcgi_param  CONTENT_TYPE     $content_type;
          fastcgi_param  CONTENT_LENGTH   $content_length;
          fastcgi_param  REMOTE_ADDR      $remote_addr;
          fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
        }
}
I zmieniamy następująco:

NAZWA_SERWERA: Na naszą nazwę serwera lub jak kto woli nazwę domeny. Standardowo localhost.
SCIEZKA_LOGOW: Tutaj wstawiamy scieżkę do pliku w którym mają być zapisywane wszystkie logi.
ROOT_PATH: Zamieniamy na sciężkę naszego folderu ze stroną. Standardowo /var/www/nginx/.

Osoby które bardziej się orientują mogą zmienić port na którym ma działać strona itp. Teraz możemy przejść do odpalenia naszego serwera. Tylko najpierw przed odpaleniem serwera musimy udostępnić mu komunikację z PHP. W takim razie musimy wykonać następującą komendę:

sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -C 5 -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

(W następnym artykule opiszę dokładnie daną komendę)
No i teraz na koniec zostaje nam odpalenie Nginx'a:

sudo /etc/init.d/nginx start

I jeśli wszystko wykonałeś dobrze powinna się przed tobą pojawić strona z napisem nginx :) Dla sprawdzienia możesz dodać plik phpinfo.php z zawarością:
<?php
phpinfo();
?>
I odpalić go w przeglądarce żeby zobaczyć czy PHP na pewno działa.

Przydatne linki:
Wiki Nginx'a - Naprawdę dużo można się dowiedzieć.

ps. przy okazji zapraszam na dynamic-group.org

Barthalion

18 grudnia 2009, 06:33:39

sudo: apt-get: command not found

Jeśli nie rozumiesz o co mi chodzi - nie wszyscy używają debianopochodnych, więc piszesz we wstępie, że poradnik tyczy się Debiana/Ubuntu/Minta, albo podajesz spodziewaną nazwę pakietu we wszystkich inych dystrybucjach.

d3d!k

18 grudnia 2009, 08:54:47

Okej, dodałem do kategorii "Debian i Ubuntu". ;) Mam nadzieję że teraz będziesz wiedział o co mi chodzi :)

widmo

19 grudnia 2009, 23:31:38

Ładny arcik, dzięki : ]

Kuba

28 marca 2010, 23:59:15

Hej, przygotowałem skrypt startowy do php-cgi dla Ubuntu: http://github.com/jakzal/php-cgi

Skrypt pozwala na uruchamianie, zatrzymywanie, restartowanie i sprawdzanie stanu php-cgi.

zostaw komentarz