Відмінності між версіями «Php-fpm»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
Рядок 18: Рядок 18:
 
  include fastcgi_params;
 
  include fastcgi_params;
 
   
 
   
−
  '''# Корінь де буде лежати сайт
+
  '''# Корінь де буде лежати сайт'''
−
'''root /srv/www/test/htdocs;
+
root /srv/www/test/htdocs;
 
   
 
   
−
  '''# Всю статику віддаємо nginx  
+
  '''# Всю статику віддаємо nginx'''  
−
'''location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|bmp|swf)$ {
+
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|bmp|swf)$ {
 
     root /srv/www/zg/htdocs;
 
     root /srv/www/zg/htdocs;
 
  }
 
  }
 
   
 
   
−
  '''# Перенаправлення всіх запитів на index.php,
+
  '''# Перенаправлення всіх запитів на index.php'''
−
'''if (!-e $request_filename) {
+
if (!-e $request_filename) {
 
     rewrite ^.*$ /index.php last;
 
     rewrite ^.*$ /index.php last;
 
  }
 
  }
 
   
 
   
−
  '''# корінь ссайту
+
  '''# корінь сайту '''
−
'''location / {
+
location / {
 
     root /srv/www/zg/htdocs;
 
     root /srv/www/zg/htdocs;
 
     index index index.html index.htm index.php;
 
     index index index.html index.htm index.php;
 
  }
 
  }
 
   
 
   
−
  '''# Передача файлів .php на інтерфейс fastCGI (php-fpm)
+
  '''# Передача файлів .php на інтерфейс fastCGI (php-fpm) '''
−
'''location ~ \.php$ {
+
location ~ \.php$ {
 
  fastcgi_pass unix:/var/run/php-fpm;
 
  fastcgi_pass unix:/var/run/php-fpm;
 
  fastcgi_index index.php;
 
  fastcgi_index index.php;

Версія за 13:03, 17 грудня 2009

Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Також вона буде корисна і власникам VPS, обмежені ресурси яких роблять традиційну зв'язку apache + php ще менш придатною до використання. Описувана у статті конфігурація побудована на CentOS 5.4

Підготовка

Необхідні пакети можна взяти тут ftp://centos.alt.ru/pub/php-fpm/

Налаштування php-fpm.conf

(змінюємо відповідні входження)

<value name="listen_address">/var/run/php-fpm</value>
<value name="owner">nginx</value>
<value name="group">nginx</value>

Налаштування nginx

server {
listen 80;
server_name test; 
access_log /var/log/test.log;
error_log /var/log/test-access.log;
include fastcgi_params;

# Корінь де буде лежати сайт
root /srv/www/test/htdocs;

# Всю статику віддаємо nginx 
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|bmp|swf)$ {
    root /srv/www/zg/htdocs;
}

# Перенаправлення всіх запитів на index.php
if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
}

# корінь сайту 
location / {
    root /srv/www/zg/htdocs;
    index index index.html index.htm index.php;
}

# Передача файлів .php на інтерфейс fastCGI (php-fpm) 
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/test/htdocs$fastcgi_script_name;
include fastcgi_params;
}
}

Запуск сервісів

service nginx start
service php-fpm start