Встановлення Nginx
Для Ubuntu запустіть aptitude install Nginx. Для інших дистрибутивів запустіть відповідний менеджер пакунків або зверніться до сторінки встановлення Nginx.
Встановлення PHP FastCGI
Для Ubuntu прочитайте приклад PHP FastCGI.
Налаштування PHP-FPM за налаштуванням підходять для більшості серверів. Для спеціальних конфігурацій відвідайте сайт PHP FPM.
Налаштування Nginx
Конфігураційні файли Nginx знаходяться в:
/etc/nginx/sites-available/
на Ubuntu (для сайтів, що працюють на цьому екземплярі Nginx)
/etc/nginx/nginx.conf
на Gentoo і Raspbian (Debian оптимізовано для Raspberry Pi)
Ось приклад файлу конфігурації Nginx, joomla.conf, який ви можете використовувати на всіх ваших сайтах з Nginx.
server {
listen 80;
server_name YOUR_DOMAIN;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root PATH_ON_SERVER;
index index.php index.html index.htm default.html default.htm;
# Support API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}
# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
# add global x-content-type-options header
add_header X-Content-Type-Options nosniff;
# deny running scripts inside writable directories
location \~\* /(images|cache|media|logs|tmp)/.\*\\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location \~ \\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
# caching of files
location \~\* \\.(ico|pdf|flv)$ {
expires 1y;
}
location \~\* \\.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}
Зверніть увагу на кілька речей:
- Параметр fastcgi_pass має значення 127.0.0.1:9000, що відповідає порту, на який налаштовано FPM. Це означає, що ви можете запускати PHP-процеси на окремих серверах. У Gentoo ви можете знайти цю конфігурацію у файлі
/etc/php/fpm-php5.3/php-fpm.conf/
.
- Не забудьте замінити YOUR_DOMAIN & PATH_ON_SERVER вище в залежності від вашого домену і шляху до Joomla на вашому сервері.