Instalacja na Debianie (testing)/Ubuntu
sudo apt-get install nginx php5 php5-gd php5-sqlite php5-fpmInstalacja na Bridge Linux/Archlinux
sudo pacman -S nginx php php-gd php-sqlite php-fpmW /etc/php5/fpm/php.ini ustawiamy opcje dla php, np. włączamy wyświetlanie błędów itp. W Bridge Linux edytujemy plik /etc/php/php.ini i wyłączamy jedną opcję, aby otrzymać:
#open_basedir = /srv/http/...W /etc/php5/fpm/pool.d/www.conf:
listen = /var/run/php5-fpm.sock- w Ubuntu 12.04 jest domyślnie
listen = 127.0.0.1:9000, czyli ustawienie dla php5-cgi, a nie php5-fpm, dlatego trzeba zmienić. W Ubuntu 13.04 nic nie trzeba zmieniać. W Bridge'u/Archu cała konfiguracja zawarta jest w /etc/php/php-fpm.conf i nic nie trzeba zmieniać, ale ścieżka gniazda ma inną postać: listen = /run/php-fpm/php-fpm.sock.W /etc/nginx/sites-available tworzymy plik (wpis) definiujący nasz serwer i zapisujemy go (w Debianie, Ubuntu) pod dowolną nazwą, np. local.org. W Bridge'u/Archu edytujemy plik /etc/nginx/nginx.conf. Przykładowa zawartość:
server {
listen 80;
server_name localhost;
charset utf-8;
access_log off;
root /home/lolek/public_html;
index index.php;
location / {
try_files $uri $uri/ /index.php;
#lub: try_files $uri $uri/ /index.php?id=$uri&$args
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.ht { deny all; }
location ~ /\. { deny all; }
}
- przy czym najważniejszy jest parametr root, który zawiera ścieżkę do katalogu z plikami serwisu, oraz sekcja location ~.\.php$ definiująca sposób przetwarzania wywołań php.W przypadku Bridge'a/Archa pamiętamy o wprowadzeniu poprawnej ścieżki do gniazda (!), czyli unix:/run/php-fpm/php-fpm.sock. Zmieniamy też fastcgi_params na fastcgi.conf.
Usuwamy dowiązanie /etc/nginx/sites-enabled/default i tworzymy nowe:
ln -s /etc/nginx/sites-available/lolcal.org /etc/nginx/sites-enabled/defaultNa koniec restartujemy usługi:
invoke-rc.d php5-fpm restart; invoke-rc.d nginx restart - w Debianieservice php5-fpm restart; service nginx restart - w Ubunturc.d restart php-fpm; rc.d restart nginx - w Bridge LinuxUwaga: powyższa konfiguracja jest bardzo podstawowa i służyć ma do lokalnych testów, nie uwzględnia więc zagadnień bezpieczeństwa, zwłaszcza związanych z możliwością wykonywania skryptów php.
Ponieważ sporo sieciowych tutoriali zawiera błędy i/lub uproszczenia, poprawnych (czyt. bezpiecznych) konfiguracji trzeba szukać u źródła, czyli na stronie wiki projektu Nginx.
Brak komentarzy:
Prześlij komentarz
Co myślisz, co czujesz?