Наверх

База знаний
Try 2 Fix
beta

FreeBSD 11: WEB-сервер своими руками. MySQL 5.5 + Nginx + PHP-FPM 5.6

Инструкция по настройке полноценного WEB-сервер на основе FreeBSD 11. В комплекте у нас MySQL 5.5, PHP-FPM 5.6.27 и Nginx. Никаких невероятных откровений по тюнингу и быстродействию Вы здесь не найдёте. Наша цель получить готовый WEB-сервер с полным набором приложений максимально простым путём. Поехали.

Установка MySQL 5.5

  1. Устанавливаем MySQL 5.5 из портов
    #cd /usr/ports/databases/mysql55-server
    #make config-recursive install clean

    Параметр config-recursive позволяет сразу выбрать составляющие всех подтянутых портов, чтобы после их выбора Вам осталось только ждать окончания установки.

  2. Добавляем в автозапуск
    #nano /etc/rc.conf
    
    mysql_enable="YES"
  3. Запускаем MySQL сервер:
    #service mysql-server start
  4. Проверяем статус MySQL
    #service mysql-server status

    Если всё хорошо, увидим что-то вроде

    mysql is running as pid 83804.

    pid может быть любой.

  5. Запускаем первоначальную настройку MySQL для удаления тестовых БД и задания пароля:
    #mysql_secure_installation
  6.  Проверяем работает ли указанный пароль:
    #mysql -u root -p

    Вводим пароль и видим, что в начале строки появилось

    mysql>

MySQL работает! Идём дальше!

Установка PHP-FPM 5.6

  1. Устанавливаем PHP из портов
    #cd /usr/ports/lang/php56 
    #make install clean

    Обязательно ставим галочку Build FPM version. Ждём окончания установки.

  2. Ставим все расширения, которые могут нам понадобиться:
    #cd /usr/ports/lang/php56-extensions
    #make config-recursive install clean

    Обязательно в расширениях выберите MySQL!

  3. Добавляем PHP-FPM в автозагрузку FreeBSD:
    #nano /etc/rc.conf php_fpm_enable="YES"
  4. Делаем небольшие правки конфигурационного файла PHP-FPM
    #nano /usr/local/etc/php-fpm.conf
    
    ;listen = 127.0.0.1:9000
    listen = /tmp/php-fpm.sock
    
    listen.owner = www
    listen.group = www
    listen.mode = 0660
    

    Проверим, не ошиблись ли мы во время правки файла

    php-fpm -t

    Должны увидеть

    [05-Nov-2016 14:54:06] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful
  5. Запускаем PHP-FPM:
    service php-fpm start

    и смотрим статус процесса

    service php-fpm status

    Уже 2 шага позади. Двигаемся дальше!

Установка Nginx

  1. Ничего не меняется, идём в порты и ставим
    #cd /usr/ports/www/nginx
    #make install clean
  2. Сразу добавим Nginx в автозагрузку:
    #nano /etc/rc.conf
    
    nginx_enable="YES"
  3. Правим nginx.conf. Для тестов сильно править стандартный конфиг мы не будем. Просто отметим места, которые НЕОБХОДИМЫ для запуска Nginx в связке с PHP-FPM. Тюнинг Nginx — отдельная тема! Отметим здесь следующие моменты: в секции localtion добавим  index.php. Далее блок, отвечающий за PHP: здесь мы дописываем путь root как у location, к fastcgi_pass дописываем unix:/tmp/php-fpm.sock (который мы указали при настройке PHP-FPM в php-fpm.conf), остальное просто примите на веру!
    server {
       location / {
          root /usr/local/www/nginx;
          index index.php index.html index.htm;
       }
       location ~ \.php$ {
          root /usr/local/www/nginx;
          fastcgi_pass unix:/tmp/php-fpm.sock;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root/index.php;
          fastcgi_param SCRIPT_NAME /index.php; 
          include fastcgi_params;
       }
    }
    
  4. Проверяем правильность заполнения конфига:
    #nginx -t

    Должны увидеть:

    nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
  5. В папке, которая у нас указана как корень сервера, создаём файл index.php, файл index.html удаляем. Содержимое index.php приведено ниже.
    #rm /usr/local/www/nginx/index.html
    #nano /usr/local/www/nginx/index.php
    
    <?php
       phpinfo();
    ?>

    Этот файл, при запросе к нему, отдаст Вам всю информацию по серверу.

  6. Запускаем Nginx, проверяем статус
    #service nginx start
    #service nginx status
  7. Запросим эту страницу через браузер, указав IP адрес сервера FreeBSD, например 10.10.10.100. Увидим страницу с фиолетовым заголовком, в котором будет красоваться

    PHP Version 5.6.27. С Nginx закончили!

    На этом всё. Полноценный WEB-сервер работает!

Остались вопросы?

Лоджик Флоу


Аутсорсинг / Системное администрирование / Техническая поддержка / Сопровождение 1С:Предприятие

+7 (8634) 383-490 / +7 (906) 430-7000
mail@logicflow.ru

Что-то пошло не так? Специалисты нашей компании помогут Вам разобраться с возникшими проблемами! Обращайтесь! →

Также Ваши вопросы Вы можете задать в нашей группе ВК или на нашем YouTube канале!

Эти статьи будут Вам интересны

LAMP-Stack сервер: ещё одна инструкция по настройке Linux + Apache + MySQL + PHP + phpMyAdmin на Ubuntu 18. Установка с помощью Tasksel.

Ещё одна - потому что в Интернете существует уже 100500 таких инструкций. А чем мы хуже? Настраиваем легендарную связку Linux + Apache + MySQL + PHP + phpMyAdmin на чистой Ubuntu 18 старым дедовским способом. А потом посмотрим, что нам даёт инструмент Tasksel. Если Вы любите хардкор, то у нас есть инструкция по созданию WEB-сервера на основе FreeBSD. Эта настройка подойдёт скорее для выполнения университетских лабораторных работ, нежели для продакшна. Но это тот минимум, который позволит использовать все перечисленные в заголовке компоненты.

1С:Предприятие: Очистка кэша и мусора

Если с Вашей базой данных 1С:Предприятие началось твориться что-то неладное, то очистка кэша 1С такая же необходимая операция, как и внешнее и внутреннее (ТиИ) тестирование файла базы данных. Это довольно несложная операция, однако есть некоторые НО. Пройдём этот путь вместе. Поехали.

FreeBSD 11: Обновление портов вручную и по расписанию

Порты - наше всё во FreeBSD. Почти всё ПО, которое нам может пригодится для решения любых задач уже есть в портах. Поэтому необходимо держать их в обновлённом состоянии. Добиваемся этого.