poniedziałek, 10 czerwca 2013

Konfiguracja Nginx z php-fpm na CentOS


    Kontynuując temat z poprzedniego wpisu, tym razem podobna konfiguracja ale oparta o serwer Nginx - konfiguracje php-fpm+apc+memcached zostawiamy bez zmian.



Na początek musimy ściągnąć i zainstalować paczkę z Nginx - brakuje jej w oficjalnych repozytoriach CentOS. Na szczęście developerzy Nginx udostępniają pakiety rpm (http://wiki.nginx.org/Install). Ściągam najnowszą na tą chwile wersje:


# wget http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.4.1-1.el6.ngx.x86_64.rpm
# yum install nginx-1.4.1-1.el6.ngx.x86_64.rpm

Zakomentowujemy domyślną konfiguracje:

# cd /etc/nginx/conf.d
# sed -e 's/\(.*\)/\#\1/' -i default.conf

Zawartość naszego pliku konfiguracyjnego /etc/nginx/conf.d/test.pnet.conf :

server {
    listen       80;
    server_name  test.pnet;

    charset utf8;
    access_log  /var/log/nginx/test.pnet_access.log;
    error_log  /var/log/nginx/test.pnet_error.log;

    root /var/www/test.pnet;
    index index.php;

    location ~* \.php$ {
        try_files       $uri /index.php;
        fastcgi_index   index.php;
        fastcgi_intercept_errors on;
        fastcgi_pass    unix:/var/run/php-fpm/test.pnet_fpm.sock;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}


Prawie zapomniałem - w php-fpm trzeba zmienić uprawnienia do gniazda, tak by serwer Nginx mógł pisać i czytać do niego.