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

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
Рядок 12: Рядок 12:
 
  server {
 
  server {
 
  listen 80;
 
  listen 80;
−
  '''server_name test;
+
  '''server_name test; '''
−
'''
 
 
  access_log /var/log/test.log;
 
  access_log /var/log/test.log;
 
  error_log /var/log/test-access.log;
 
  error_log /var/log/test-access.log;
 
  include fastcgi_params;
 
  include fastcgi_params;
−
 
+
 
  '''# Корінь де буде лежати сайт
 
  '''# Корінь де буде лежати сайт
 
  '''root /srv/www/test/htdocs;
 
  '''root /srv/www/test/htdocs;
Рядок 25: Рядок 24:
 
     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 / {
Рядок 36: Рядок 35:
 
     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$ {
Рядок 45: Рядок 44:
 
  }
 
  }
 
  }
 
  }
−
 
+
 
<br>
 
<br>

Версія за 12:59, 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;
}
}