Налаштування php-fpm та nginx на FREEBSD - Мій блог

Хочу розповісти про встановлення та налаштування зв'язки nginx+php-fpm. На думку, така комбінація працює швидше, ніж зв'язка з apache. Я на своєму досвіді у цьому переконався. За інших рівних умов сайт wordpress витримує велике навантаження з nginx і php fpm, ніж apache і php.

Приступимо. У нас є:

Обновимо до останньої версії за допомогою цієї інструкції. Перевіряємо, що вийшло:

Добре, оновлення пройшли. Я не даватиму загальних рекомендацій щодо налаштування сервера, я їх уже давав у 2-й частині інструкції, посилання на яку я наводив вище. Можна подивитися за бажанням. Приступимо одразу до справи.

Встановлення та налаштування mysql на Freebsd

Додаємо Mysql в автозавантаження:

Створюємо для нього конфігураційний файл:

Конфігурацію кожен під свої потреби може зробити, описів налаштувань в інтернеті багато. Я пропоную свій універсальний варіант:

Створимо файл логів:

Перевіряємо, чи все гаразд:

Демон запущений та слухає локальний інтерфейс.

Тепер запустимо скрипт для налаштування безпеки:

Задаємо пароль для root і далі на всі запитання відповідаємо ствердно.

На цьому встановлення та налаштування mysql закінчено. Йдемо далі.

Встановлення та налаштування PHP-FPM на Freebsd

Починаючи з версії php 5.3, php-fpm йде як модуль, тому просто починаємо встановлення php і вказуємо в опціях fpm:

Ставимо тепер доповнення php-extentions:

Доповнень багато, все ставити не обов'язково, можна буде інше доставити потім у разі потреби. Я зазвичай вибираю найбільш популярні та необхідні:

BZ2, CTYPE, CURL, DOM, EXIF, FILTER, FTP, GD, GETTEXT, HASH, ICONV, JSON, MBSTRING, MCRYPT, MYSQL, MYSQLI, PDF,PDO, PDO_SQLITE, PHAR, POSIX, SESSION, SIMPLEXML, SQLITE3, YOKENIZER, XML, XMLREADER, XMLWRITER, ZIP

Додаємо php-fpm в автозавантаження:

Редагуємо файл з налаштуваннями, наводимо його до наступного вигляду:

Перевіряємо синтаксис налаштувань:

Перевіряємо чи запустився:

Все в порядку. Йдемо далі.

Встановлення та налаштування nginx на Freebsd

Встановлюємо nginx на наш Freebsd сервер:

Вибираємо налаштування за замовчуванням.

Додаємо nginx в автозавантаження:

Редагуємо файл налаштувань. Я наведу приклад із двома віртуальними серверами, на одному з яких будуть налаштування для wordpress, інший буде для phpmyadmin, я люблю його вішати на окремий піддомен.

Створюємо необхідні каталоги:

Чомусь nginx не зміг створити папку у тимчасовому каталозі. Допоможемо йому самі:

Все в порядку. Наш веб-сервер на Freebsd готовий. Запускаємо nginx і перевіряємо, чи нормально запустився:

Все гаразд, сервер запущений та слухає 80-й порт. Тепер перевіримо роботу веб-сервера за допомогою тестової сторінки. Створюємо її:

Ви маєте побачити картинку.

Якщо бачите її у себе, вітаю, ви все налаштували правильно і веб-сервер повністю готовий до роботи. Залишився лише маленький штрих. Для зручності управління mysql встановимо phpmyadmin.

Встановлення phpmyadmin на web-сервер Freebsd

Переміщуємо файли з установчої директорії за замовчуванням до нашого піддомена pma.site1.ru:

Налаштовуємо DNS записи на pma.site1.ru або просто додаємо у вінді у файл hosts рядок

У вас має відкритися вікно привітання phpmyadmin. Вводимо сюди користувача та пароль root, які ми задали на початку налаштування і потрапляємо в панель управління базами.

На цьому налаштування web сервера на базі Freebsd 10.1 та зв'язкиnginx + php-fpm закінчено.