Наверх

База знаний
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С:Предприятие: Ошибка формата потока

После неожиданного завершения работы, пользователи 1С:Предприятия с любой конфигурацией могут увидеть следующее сообщение "Ошибка формата потока". не стоит паниковать, избавиться от этой проблемы достаточно просто.

Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна.

Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна. Дополнительные сведения содержаться в журнале событий приложения... - такое сообщение у нас появлялось при первом запуске Autodesk Autocad, Microsoft Office и т. д. Ничего страшного, решаем эту проблему.

1С:Предприятие: Загрузка классификатора банков РФ. Ошибка: Возможно неточные или неправильные настройки подключения к Интернету

К нам за помощью обратился клиент, у которого возникла проблема при обновлении классификатора банков РФ. Конфигурация "Бухгалтерия предприятия", платформа "8.3.10", хотя к этим значениям эта ошибка не имеет никакого отношения. Полный текст ошибки: {"timestamp":1508567083822, "status":401, "error":"Unauthorized", "message":"Full authentication is required to access this resourse", "path":"/bankregister/v1/bnk.zip"} Возможны неточные или неправильные настройки подключения к Интернету. Конечно же, Интернет в этот момент исправно работал. Рассказываем и показываем, почему же это произошло.