Сьогодні я розповім як налаштувати зв'язку nginx + php5-fpm під Debian.
Почнемо з інсталяції nginx.
І тут же ми стикаємося з тим, який саме пакет ставити, тому що їх існує аж три:
Відрізняються вони лише постачанням додаткових модулів.
Викличемо опис пакета nginx-light
aptitude покаже які саме додаткові модулі входять в «легку» версію nginx
А тепер для порівняння виведемо список модулів «розширеної» версії nginx
Як бачите, список модулів і доповнень вражає.
З їх докладної конфігурацією ви можете ознайомитися тут і тут.
Я рекомендую ставити nginx-light. тому чим менше буде доставлено пакетів, тим менше пам'яті буде «їсти» ядро nginx. Але також необхідно враховувати потрібні модулі для роботи.
Після успішної інсталяції відкриваємо головний конфігураційний файл /etc/nginx/nginx.conf і наводимо його до наступного вигляду:
Створюємо папки для зберігання кешу nginx і виставляємо на них правильні права
До конфігурації віртуального сервера nginx ми ще повернемося після установки php5-fpm.
У головному файлі конфігурації php5-fpm /etc/php5/fpm/php-fpm.conf нас все влаштовує за замовчуванням.
Перейдемо до конфігурації віртуальних пулів що лежать в папці /etc/php5/fpm/pool.d/.
Зверніть увагу що я використовував змінну $ pool що буде замінена на поточне ім'я пулу, що задано в квадратних дужках на самому початку. У нашому випадки це буде [www]
Створимо папку для логів php5-fpm
Трохи поправимо настройки PHP.
Відкриємо файл /etc/php5/fpm/php.ini і змінимо наступні директиви:
У конфігурації ми використовували додатковий конфиг, що ні описані раніше.
Створимо його.
/etc/nginx/conf.d/fastcgi_params.conf
Зверніть увагу що в параметрі fastcgi_pass я вказав шлях до сокета php5-fpm пулу www як unix: /var/run/php5-fpm.www.sock.
Тепер створимо символічне посилання на створений нами тільки що віртуальний хост, щоб nginx його «побачив»
Перевіряємо (тестуємо) конфігурації nginx
Результатом має бути наступне:
Тепер ми можемо запустити nginx
Якщо все ОК - продовжуємо далі.
Створимо ієрархію директорій нашого тестового проекту.
І створимо index.php файл з перевіркою роботи php5-fpm
Відкопаємо в браузері. І якщо ви побачили висновок функції phpinfo (). то ви все зробили правильно.
P.S. Не забудьте про logrotate для того, щоб ваші логи не зайняли в один прекрасний момент все дисковий простір, припинивши тим самим роботу всіх сайтів на цьому веб-сервері.