ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить NGINX с PHP-FPM и MYSQL на Ubuntu 16.04

PHP, Apache и MySQL являются одними из самых популярных технологий для построения веб-приложений. Тем не менее, Apache является большим веб-сервером, который потребляет много ресурсов, а также для тех, кто ищет бюджетный хостинг могли бы заменить его более легким Nginx.

Начало работы

Для завершения этого руководства, вам потребуется следующее:
• 1 выделенный сервер с чистой установкой Ubuntu 16.04.

Ubuntu 16.04 LTS является долгосрочным выпуском с поддержкой, а это означает Canonical будет предоставлять обновления в течение 5 лет, а не 9 месяцев как обычно.

Учебник

Давайте начнем. Когда закончите, вы будете иметь серверную платформу, способную эффективно работать с любым количеством PHP и MySQL веб-приложениями.

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

apt-get update && apt-get upgrade -y
reboot

 

Теперь мы установим базу данных MySQL, где веб-приложение будет держать все свои данные.

apt-get -y install mysql-server mysql-client

 

Вам будет предложено установить пароль администратора. Сделать этот пароль сильным и запомните его для последующего использования. Любой человек с этим паролем может получить доступ и изменять все содержимое базы данных.

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

mysql_secure_installation

 

Сейчас настало время установить веб-сервер Nginx. Давайте его установим.

apt-get install nginx -y

 

Демон Nginx Теперь должен теперь быть запущен и добавлен а автозагрузку.

systemctl start nginx.service
systemctl enable nginx.service

 

В то время как Apache работает с PHP скриптами непосредственно, Nginx должен подключаться к внешнему FPM демону, чтобы интерпретировать скрипты. Этот демон должен быть установлен, прежде чем он может быть использован. Давайте установим необходимые пакеты.

apt-get -y install php7.0-fpm php7.0-mysql

 

Теперь, когда установлен и запущен демон, виртуальные хосты Nginx должны быть настроены, чтобы знать, как получить к нему доступ, и какие пути и файлы должны проходить через интерпретатор FPM.

nano /etc/nginx/sites-available/default
[...]
# Добавить index.php в список, если вы используете PHP
index index.php index.html index.htm index.nginx-debian.html;
имя_сервера,
[...]
# передайте скрипты PHP в fastcgi-сервер слушает на сокете 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# # With php7.0-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# запретить доступ к файлам .htaccess, если Apache документ root совпадает с nginx
#
location ~ /\.ht {
deny all;
}
}
[...]

 

Сохраните конфигурацию виртуального хоста, и перезапустите Nginx, чтобы воспользоваться изменениями.

systemctl restart nginx.service
systemctl enable nginx.service

 

Php.ini файл, где PHP и его модули настроены. Необходимо изменить одну строку, чтобы успешно выполнять скрипты в демоне FPM.

nano /etc/php/7.0/fpm/php.ini

 

Найти этот блок в конфигурационном файле:

; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
; cgi.fix_pathinfo=1

 

Измените последнюю строку следующим образом:

; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0

 

Сохраните и выйдите. Как и с Nginx, теперь необходимо перезапустить и включить демон FPM, чтобы изменения конфигурации вступили в силу.

systemctl restart php7.0-fpm.service
systemctl enable php7.0-fpm.service

 

Наконец, мы создадим простую страницу phpinfo, которая обеспечивает диагностическую информацию об установке. Эта страница будет позже заменена реальным приложением.
Введите корень документа виртуального хоста Nginx.

cd /var/www/html/

 

Создайте файл index.php

nano index.php

 

Теперь вставьте следующий код:

<?php
phpinfo();
?>

 

И, наконец, посетите страницу, которую вы только что создали, посетив http://your_main_ip. Вы должны увидеть много диагностических деталей о вашей установке PHP.

Вывод

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

Как установить NGINX с PHP-FPM и MYSQL на Ubuntu 16.04

Exit mobile version