IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [489]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [444]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [353]
    Сети, сетевые технологии, оборудование... [267]
    Смартфоны [4964]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [47]
    Электронные книги [95]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1112]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1338
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Декабрь » 14 » Установка стека LEMP (nginx, MariaDB/MySQL и php) в CentOS
    07:10
    Установка стека LEMP (nginx, MariaDB/MySQL и php) в CentOS

    Установка стека LEMP (nginx, MariaDB/MySQL и php) в CentOS

    Оригинал: How to install LEMP stack (nginx, MariaDB/MySQL and PHP) on CentOS
    Автор: Dan Nanni
    Дата публикации: 28 октября 2014 года
    Перевод: А. Кривошей
    Дата перевода: ноябрь 2014 г.

    LEMP - это набирающий популярность стек веб-сервисов. Как можно понять из его названия, LEMP включает Linux, nginx, MariaDB/MySQL и PHP. nginx - это высокопроизводительная и легковесная замена медленному и трудно масштабируемому HTTP-серверу Apache, используемому в традиционном стеке LAMP. MariaDB - это развиваемый сообществом форк MySQL с хорошими возможностями и лучшей производительностью. PHP - язык программирования на стороне сервера для генерирования динамического контента, представлен PHP-FPM - расширенной реализацией PHP FastCGI.

    В этом руководстве я продемонстрирую, как установить стек LEMP на платформе CentOS 7. Я буду ориентироваться как на CentOS 6, так и на CentOS 7, обращая ваше внимание на встречающиеся различия в процедуре установки.

    Этап первый: Nginx

    Сначала давайте установим nginx и сделаем его базовую настройку, активировав его автозагрузку, и настроим брандмауэр.

    Установка Nginx

    Устанавливать будем уже собранную стабильную версию nginx из официального источника RPM.

    В CentOS 7:

     

    $ sudo rpm --import http://nginx.org/keys/nginx_signing.key
    $ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    $ sudo yum install nginx
    

     

    В CentOS 6:

     

    $ sudo rpm --import http://nginx.org/keys/nginx_signing.key
    $ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    $ sudo yum install nginx
    

     

    Обратите внимание, что если вы предварительно не импортируете официальный GPG-ключ для nginx, то получите предупреждение:

     

    warning: /var/tmp/rpm-tmp.KttVHD: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
    

     

    Запуск Nginx

    После установки nginx не будет запускаться автоматически. Для этого необходимо настроить его автозагрузку. Также нам необходимо открыть порт TCP/80 в брандмауэре, чтобы обеспечить удаленный доступ к веб-серверу. Все это делается с помощью следующих команд:

    В CentOS 7:

     

    $ sudo systemctl start nginx
    $ sudo systemctl enable nginx
    $ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    $ sudo firewall-cmd --reload
    

     

    В CentOS 6:

     

    $ sudo service nginx start
    $ sudo chkconfig nginx on
    $ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    $ sudo service iptables save
    

     

    Тестирование Nginx

    По умолчанию корневая директория nginx - это /usr/share/nginx/html. Файл index.html должен уже быть в этой директории. Давайте посмотрим, получится ли увас открыть эту тестовую страницу. Введите в браузере: http://nginx-ip-address/

    nginx

    Если вы видите эту страницу, значит nginx установлен правильно.

    Этап второй: MariaDB/MySQL

    Далее нам необходимо установить компонент базы данных стека LEMP. Хотя в CentOS/RHEL 6 и более ранних версиях есть пакеты для клиента и сервера MySQL, в CentOS/RHEL 7 в качестве реализации MySQL по умолчанию принята MariaDB, которая обеспечивает максимальную совместимость с MySQL в части API и команд.

    В CentOS 7:

    Установка пакетов клиента и сервера MariaDB и запуск сервера MariaDB:

     

    $ sudo yum install mariadb-server
    $ sudo systemctl start mariadb
    $ sudo systemctl enable mariadb
    

     

    В CentOS 6:

    Установка пакетов клиента и сервера MySQL и запуск сервера MySQL:

     

    $ sudo yum install mysql-server
    $ sudo service mysqld start
    $ sudo chkconfig mysqld on
    

     

    После успешного запуска сервера MariaDB/MySQL выполните приведенный ниже скрипт, который входит в состав пакета сервера MariaDB/MySQL. Его однократный запуск позволяет закрыть некоторые потенциальные дыры в безопасности сервера баз данных - установить непустой пароль root, удалить анонимного пользователя и заблокировать удаленный доступ.

     

    $ sudo mysql_secure_installation
    

     

    запуск скрипта

    С базой данных мы разобрались. Теперь перейдем к следующему этапу.

    Этап третий: PHP

    PHP- это очень важный компонент стека LEMP, который отвечает за генерацию динамического контента из данных, хранящихся в MariaDB/MySQL. Для LEMP вам необходимо, по крайней мере установить PHP-FPM и PHP-MySQL. PHP-FPM (FastCGI Process Manager) реализует интерфейс между nginx и PHP-приложениями, которые генерируют динамический контент. Модуль PHP-MySQL позволяет PHP-программам получать доступ к MariaDB/MySQL.

    Установка модулей PHP

    В CentOS 7:

     

    $ sudo yum php php-fpm php-mysql
    

     

    В CentOS 6:

    Сначала вам необходимо установить репозиторий REMI (можно воспользоваться этим руководством), и установить пакеты из репозитория.

     

    $ sudo yum --enablerepo=remi install php php-fpm php-mysql
    

     

    установка php

    При установке PHP необходимо учесть два момента:

    В CentOS 6 пакеты клиента и сервера MySQL будут автоматически обновлены как часть зависимостей последней версии php-mysql в REMI.

    Как в CentOS 6, так и в CentOS 7 при установке пакета php также устанавливается веб-сервер Apache (т.е. httpd) как часть его зависимостей. Это может привести к конфликтам с веб-сервером nginx. В следующем разделе мы узнаем, как решить эту проблему.

    В зависимости от ваших потребностей вы можете установить пакеты дополнительных модулей PHP с помощью команды yum.

    php-cli: интерфейс командной строки для PHP. Полезен для тестирования PHP в командной строке.
    php-gd: поддержка обработки изображений для PHP.
    php-bcmath: поддержка математических функций для PHP.
    php-mcrypt: поддержка алгоритмов шифрования для PHP (DES, Blowfish, CBC, CFB, ECB).
    php-xml: поддержка XML-парсинга для PHP.
    php-dba: поддержка слоя абстракции баз данных для PHP.
    php-pecl-apc: ускорение кэширования для PHP.

    Чтобы просмотреть список всех доступных модулей PHP, введите:

     

    $ sudo yum search php- (CentOS 7)
    $ sudo yum --enablerepo=remi search php- (CentOS 6)
    

     

    Запуск PHP-FPM

    Вам необходимо запустить PHP-FPM и добавить его в список автозагрузки.

    В CentOS 7:

     

    $ sudo systemctl start php-fpm
    $ sudo systemctl enable php-fpm
    

     

    В CentOS 6:

     

    $ sudo chkconfig php-fpm on
    $ sudo service php-fpm start
    

     

    Этап четвертый: настройка стека LEMP

    Последний этап руководства - настройка стека LEMP.

    Отключение Httpd

    Сначала отключите httpd, который был установлен с пакетами PHP.

    В CentOS 7:

     

    $ sudo systemctl disable httpd
    

     

    В CentOS 6:

     

    $ sudo chkconfig httpd off
    

     

    Настройка Nginx

    Далее, давайте настроим виртуальные хосты nginx, чтобы nginx мог работать с PHP посредством PHP-FPM. Для этого откройте в текстовом редакторе файл /etc/nginx/conf.d/default.conf и внесите в него следующие изменения:

     

    $ sudo vi /etc/nginx/conf.d/default.conf
     
    server {
    listen 80;
    server_name www.server_domain.com;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
    location / {
    }
    # redirect server error pages to the static page /50x.html
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
    # nginx passes PHP scripts to FastCGI server via a TCP/9000 socket
    # this setting much be consistent with /etc/php-fpm.d/www.conf
    # try_files prevents nginx from passing bad scripts to FastCGI server
    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    

     

    Также, давайте увеличим количество рабочих потоков nginx с 1 до 4, отредактировав конфигурационный файл nginx.

     

    $ sudo vi /etc/nginx/nginx.conf
     
    worker_processes 4;
    

     

    Настройка PHP

    Далее, давайте изменим настройки PHP в файле /etc/php.ini. В частности, добавьте в /etc/php.ini следующие строки.

     

    cgi.fix_pathinfo=0
    date.timezone = "America/New York"
    

     

    Для повышения безопасности мы хотим разрешить интерпретатору PHP обрабатывать только пути к существующим файлам. Для этого предназначена первая из приведенных выше строк.

    Вторая строка задает часовой пояс, используемый работающими со временем и датой функциями PHP.

    Тест PHP

    И в конце давайте проверим, как nginx обрабатывает страницу с кодом PHP. Перед тестированием перезапустите nginx и PHP-FPM.

    В CentOS 7:

     

    $ sudo systemctl restart nginx
    $ sudo systemctl restart php-fpm
    

     

    В CentOS 6:

     

    $ sudo service nginx restart
    $ sudo service php-fpm restart
    

     

    Создайте файл PHP с названием test.php и приведенным ниже содержимым, поместите его в /var/www/html/.

     

    <?php phpinfo(); ?>
    

     

    Откройте веб-браузер и перейдите по адресу http://nginx-ip-address/test.php.

    тест php

    Если вы видите приведенную выше страницу, значит вы все сделали правильно.

    http://rus-linux.net/MyLDP/server/Howto-install-LEMP.html

    Категория: Linux и не только | Просмотров: 686 | Добавил: laptop | Рейтинг: 3.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024