Nginx, Ubuntu 10 és a PHP-FPM

Lassan egy éve kezdtem el barátkozni az Nginx webkiszolgálóval és azóta is elégedetten használom az első szerveremen. Érdemes tudni róla, hogy jelentősen kevesebb RAM -ot eszik az Apache -nál és sokkal gyorsabb annál.

Számomra egyetlen hátránya az, hogy nem kezel .htaccess -t (persze az abban megfogalmazott funkciókat igen, csak máshogy), ezért a virtual host konfigokban kell megírni ezeket a beállításokat.

Annak idején kicsit körülményes volt a beállítása, most eljött az idő, hogy a tudomány mai állása szerint írjak valamit arról, hogy is kell feltenni Nginxet PHP támogatással szerintem a legegyszerűbben (Ubuntu 10.04 -re, apc cache -el):

1. Telepítés

add-apt-repository ppa:brianmercer/php && sudo apt-get update
apt-get install nginx php5-fpm php-apc php5-cgi php5-cli \
php5-mysql php5-common php-pear php5-curl php5-suhosin \
php5-gd php5-imagick imagemagick

2. APC tuning

/etc/php5/conf.d/apc.ini
extension=apc.so
apc.shm_size = 64
apc.rfc1867 = on

3. PHP és Nginx elindítása

service php5-fpm start && service nginx start

4. Virtuális hostok

A virtuális hostok beállítása, kezelése hasonló az Apache -hoz, az /etc/nginx/ könyvtárban van egy sites-available  és egy sites-enabled, itt kell létrehozni a virtuális hostok beállításait tartalmazó fileokat, az alábbihoz hasonló tartalommal:

server {
        listen 80;
        server_name bolcs.hu www.bolcs.hu;

        location / {
                root   /var/www/bolcs;
                index index.php;

        }

        # serve static files directly
        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
            access_log        off;
            expires           30d;
        }

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/bolcs$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }
}

RSS -en követheted a hozzászólásokat.