Перейти к содержимому

Установка Nginx, MySQL, PHP (LEMP) Ubuntu 20.04

В данной статье вы найдете информацию которая поможет установить LEMP сервер на сервер под управлением Ubuntu 20.04

Для начала установки вам потребуется VPS сервер либо выделенный сервер под управлением Ubuntu 20.04 

Подключаемся к серверу, если вы не знаете как подключиться к серверу, советуем вам ознакомиться с нашим руководством SSH подключение к серверу

Установка Nginx

Перед началом установки обновим список доступных пакетов и установим веб-сервер nginx

sudo apt-get update
sudo apt-get install nginx

При запросе подтверждения установки нужно будет ввести y

В случаи если у вас установлен  и активирован файрвол ufw, вам нужно будет добавить правило которое разрешает подключения к Nginx. 

Для проверки активности файрвола ufw выполним команду 

sudo ufw status

Для вывода доступных профилей файрвола ufw выполним команду 

sudo  ufw app list

Available applications:

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

В стандартной конфигурации сервера без использования SSL сертификата, рекомендуется использовать профиль Nginx HTTP .

Для применения профиль выполняем команду 

sudo ufw allow 'Nginx HTTP'

В будущем, если вы решите подключить SSL сертификат, то перед его настройкой выполните команду 

sudo ufw allow 'Nginx HTTPS'

Проверим, работает ли установленный веб-сервер, для этого в браузере, в строке адреса вводим IP вашего сервера и если все установлено верно мы увидим стартовую страницу.

Установка MySQL

Для установки СУБД MySQL выполняем следующую команду 

sudo apt-get install mysql-server

Не забываем подтверждать установку пакета вводом 

После завершения установки рекомендуем вам запустить скрипт безопасности MySQL 

sudo mysql_secure_installation

Данный скрипт поможет повысить безопасность базы данных и создать пароль для root пользователя MySQL. 

На этом установка и базовая настройка MyQL завершена. 

Установка PHP

Для установки PHP нам нужно будет установить два пакета : php-fpm и php-mysql 

sudo apt-get install php-fpm php-mysql

Установка PHP завершена. Перейдем к настройке веб-сервера Nginx

Настройка Nginx

В качестве тестового доменного имени мы будем использовать домен test1.com.

В Ubuntu 20.04 по умолчанию существует директория /var/www/html в которую вы можете загрузить свой сайт и он будет сразу же доступен, но в случаи если Вам нужно разместить несколько сайтов данная конфигурация не очень удобная. 

Мы настроем наш сервер таким образом, чтобы файлы доменного имени test1.com находились в дирректории /var/www/test1.com 

Создадим корневую директорию 

sudo mkdir /var/www/test1.com

Создадим файл конфигурации для доменного имени test1.com. Для этого создадим файл test1.com в директории /etc/nginx/sites-enabled/. Для создания файла будем использовать редактор nano 

sudo nano /etc/nginx/sites-enabled/test1.com

В редакторе вставляем следующий текст

server {
    listen 80;
    server_name test1.com www.test1.com;
    root /var/www/test1.com;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }
    location ~ /\.ht {
        deny all;
    }
}


Выйдем из редактора и сохраним файл нажав Ctrl+X на запрос подтверждение на запись в файл нажимаем y 

Проверим конфигурацию nginx командой 

sudo nginx -t

Если команда сообщает, что есть ошибки в конфигурации, вернитесь в файл и проверьте все ли вы верно ввели. 

Для применения параметров перезапустим сервер nginx 

sudo systemctl reload nginx

Теперь ваш сайт активен, но для того чтобы удостовериться в его работе нужно создать index файл в директории нашего сайта. Выполним команду которая создаст файл index.html в папке с нашим сайтом

sudo nano /var/www/test1.com/index.html

И вставим в него следующий текст 

<html>
  <head>
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    <p>Site <strong>test1.com</strong>.</p>
  </body>
</html>

Для проверки работы PHP создадим файл который выводит всю информацию о версии PHP 

sudo nano /var/www/test1.com/phpinfo.php

Внесем в него следующий текст 

<?php

phpinfo();

?>

Сохраним файл и введем в адресной строке test1.com/phpinfo.php  после чего вы увидете полную инфомрацию о php установленном на вашем сервере.

На этом установка LEMP сервера завершена.