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; } }