Заметки по установке Nginx
Nginx — это бесплатный, открытый исходный код, высокопроизводительный HTTP-сервер и обратный прокси, а также IMAP/POP3-прокси-сервер. В отличие от традиционных серверов, Nginx не полагается на потоки для обработки запросов. Вместо этого он использует гораздо более масштабируемую архитектуру с обработкой событий (асинхронную). Эта архитектура использует небольшие, но, что важнее, предсказуемые объемы памяти под нагрузкой.
Для обработки PHP-файлов обычно используется PHP-FPM (FastCGI Process Manager). В настоящее время PHP-FPM входит в состав любого Unix-распространения PHP. Phalcon + Nginx + PHP-FPM предоставляет мощный набор инструментов, обеспечивающий максимальную производительность ваших PHP-приложений.
Настройка Nginx для Phalcon
Ниже приведены потенциальные конфигурации, которые вы можете использовать для настройки nginx с Phalcon:
Базовая конфигурация
Использование $_GET['_url'] в качестве источника URI:
server {
listen 80;
server_name localhost.dev;
root /var/www/phalcon/public;
index index.php index.html index.htm;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
location ~ \.php {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index /index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
Использование $_SERVER['REQUEST_URI'] в качестве источника URI:
server {
listen 80;
server_name localhost.dev;
root /var/www/phalcon/public;
index index.php index.html index.htm;
charset utf-8;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/reference/nginx.html