Как установить LEMP в Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить LEMP в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, программный стек LEMP — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы сервер мог размещать динамические веб-сайты и веб-приложения. Этот термин на самом деле является аббревиатурой, обозначающей операционную систему Linux с веб-сервером Nginx (который заменяет компонент Apache в стеке LAMP ). Данные сайта хранятся в базе данных MySQL (с использованием MariaDB), а динамический контент обрабатывается PHP.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку стека LEMP на сервере Ubuntu 20.04 (Focal Fossa).
Установите LEMP на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Установка Nginx на Ubuntu 20.04.
Nginx — это высокопроизводительный веб-сервер, очень популярный в наши дни. Его также можно использовать в качестве обратного прокси-сервера и кэширующего сервера. Выполните следующую команду из Терминала, чтобы установить веб-сервер Nginx:
sudo apt install nginx
После установки проверьте, запущена ли служба Nginx:
sudo systemctl start nginx sudo systemctl status nginx
Теперь, если у вас запущен брандмауэр UFW, вам нужно будет разрешить подключения к Nginx:
sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full'
Проверьте статус брандмауэра:
$ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx Full ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx Full (v6) ALLOW Anywhere (v6)
Давайте продолжим и запустим тестовую страницу Nginx. Зайдите в свой веб-браузер и посетите свой домен или IP-адрес:
http://your-server-ip-address ИЛИ http://your-domain.com
Шаг 3. Установка MariaDB в Ubuntu 20.04.
MariaDB — это прямая замена MySQL. Он разработан бывшими членами команды MySQL, которые обеспокоены тем, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Выполните следующую команду, чтобы установить MariaDB:
sudo apt install mariadb-server mariadb-client
После завершения вы можете убедиться, что MariaDB установлена, выполнив следующую команду:
sudo systemctl status mariadb
По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installation
скрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:
mysql_secure_installation
Настройте это так:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
Чтобы войти в MariaDB, используйте следующую команду (обратите внимание, что это та же команда, которую вы использовали бы для входа в базу данных MariaDB):
mysql -u root -p
Шаг 4. Установка PHP в Ubuntu 20.04.
В отличие от Apache, Nginx не содержит собственной обработки PHP. Для этого нам нужно установить PHP-FPM (FastCGI Process Manager). Выполните следующую команду, чтобы установить PHP7.4 и некоторые распространенные расширения:
sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
После установки проверьте версию PHP:
php --version
Далее настраиваем Nginx для работы с PHP-FPM:
sudo nano /etc/nginx/conf.d/default.conf
Вставьте в файл следующий текст:
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Затем проверьте синтаксис конфигурации Nginx на правильность. Если все в порядке, перезапустите службу Nginx, чтобы применить новые изменения:
sudo nginx -t sudo systemctl restart nginx
Шаг 5. Протестируйте PHP.
Чтобы протестировать PHP, создайте тестовый файл с именем info.php с приведенным ниже содержимым. Сохраните файл, затем перейдите к нему, чтобы узнать, работает ли PHP:
sudo nano /usr/share/nginx/html/info.php
Скопируйте в текстовый редактор следующее:
<?php phpinfo(); ?>
Попробуйте получить к нему доступ по адресу . Если информационная страница PHP отображается в вашем браузере, значит, все в порядке, и вы готовы продолжить.http://your_server_ip/info.php
Поздравляю! Вы успешно установили стек LEMP . Благодарим за использование этого руководства по установке LAMP (Linux, Nginx, MariaDB и PHP) в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Nginx, MySQL и PHP.