- Установка (LEMP) NGINX, MariaDB, PHP в ArchLinux
- Установка MariaDB (MySQL)
- Базовая конфигурация MySQL
- Установка NGINX
- Создаем и настраиваем каталог под виртуальные хосты
- Установка PHP-FPM
- LEMP (Nginx, MariaDB и PHP), установка на Ubuntu 20.04
- Установка программного стека LEMP в Ubuntu 20.04
- Установить Nginx из репозитория
- Установить MariaDB
- Установить PHP-FPM
- Тестирование LEMP
Установка (LEMP) NGINX, MariaDB, PHP в ArchLinux
Установка и настройка популярной связки LEMP для работы веб-сервера.
LEMP это акроним от Linux, NGINX (с англ. Engine X), MySQL и PHP. Набор открытого программного обеспечения, который в связке помогает развернуть веб-сервер.
Установка MariaDB (MySQL)
Убедимся что система обновлена и установим пакет MariaDB.
# pacman -S mysql
:: Найдено 2 поставщика для mysql:
:: Репозиторий extra
1) mariadb
:: Репозиторий community
2) percona-server
Подтверждаем выбор репозитория extra вводом 1 или по умолчанию Enter . Будут установлены необходимые пакеты и их зависимости.
По завершении будет предложено инициализировать каталог данных MariaDB:
:: You need to initialize the MariaDB data directory prior to starting
the service. This can be done with mysql_install_db command, e.g.:
mysql_install_db —user=mysql —basedir=/usr —datadir=/var/lib/mysql
По умолчанию MySQL работает от пользователя, который запустил сервис. Для того, чтобы изменить это используем ключ —user=mysql .
mysql_install_db —user=mysql —basedir=/usr —datadir=/var/lib/mysql
Базовая конфигурация MySQL
Запускаем скрипт базовой настройки.
mysql_secure_installation
/usr/bin/mysql_secure_installation
Выполняем все шаги настройки.
Enter current password for root (enter for none):
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
Подключаемся к базе для проверки работоспособности.
# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.1.17-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]>
Теперь внесем некоторые изменения в конфигурационный файл /etc/mysql/my.cnf
В секции [mysqld] раскомментируем опцию skip-external-locking и bind-address :
skip-external-locking — опция указывает MySQL-серверу не использовать внешние блокировки при работе с базой. Внешние блокировки необходимы в ситуациях, когда несколько серверов работают с одними и теми же файлами данных, т.е. имеют одинаковую datadir , что на практике не используется.
bind-address — интерфейс, который будет слушать сервер. В целях безопасности рекомендуется установить здесь 127.0.0.1 , если не планируется использовать внешние соединения с сервером. Если требуется доступ из внешней сети, то указываем соответствующие значения и не забываем настроить фильтры.
Установка NGINX
Выполняем установку NGINX.
Создаем директорию где будет храниться контент сайта.
mkdir -p /srv/http/example.com/public
mkdir /srv/http/example.com/logs
chown -R http:http /srv/http/example.com
Я использую пользователя и группу http , потому что php-fpm по-умолчанию их использует. Можно изменить это в настройках.
Создаем и настраиваем каталог под виртуальные хосты
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
sites-available — в каталоге хранятся конфигурационные файлы сайтов.
sites-enabled — в каталоге создаются симлинки на файлы в директории sites-available для удобного включения/отключения сайтов.
В конфигурационном файле /etc/nginx/nginx.conf подключаем чтение настроек сайта из созданной директории. Будьте внимательны, данную строку необходимо поместить в секцию http .
## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*;
Создаем файл в директории /etc/nginx/sites-available/ с названием хоста, в нашем случае example.com и добавим туда следующие настройки:
server {
server_name example.com;
access_log /srv/http/example.com/logs/access.log;
error_log /srv/http/example.com/logs/error.log;
root /srv/http/example.com/public;
location / {
#try_files $uri $uri/ /index.html;
index index.htm index.html index.php;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# Отключаем логирование для robots.txt
location = /robots.txt {
access_log off;
log_subrequest off;
log_not_found off;
}
# Отключаем логирование для favicon.ico
location = /favicon.ico {
access_log off;
log_subrequest off;
log_not_found off;
}
# Отключаем логирование для sitemap.xml
location = /sitemap.xml {
access_log off;
log_subrequest off;
log_not_found off;
}
# Отключаем логирование для *.css И *.js файлов
location ~* ^.+\.(css|js)$ {
access_log off;
log_subrequest off;
log_not_found off;
}
# Также отключаем логи для картинок, файлов
location ~* ^.+\.(bmp|gif|jpg|jpeg|ico|png|swf)$ {
access_log off;
log_subrequest off;
log_not_found off;
}
# Подключаем обработчик php-fpm
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
# fastcgi_pass 127.0.0.1:9000; ## Если работаем не по сокетам
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/http/example.com/public$fastcgi_script_name;
}
}
Подключаем наш виртуальный хост.
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/example.com
systemctl restart nginx
Установка PHP-FPM
Выполняем установку PHP-FPM
LEMP (Nginx, MariaDB и PHP), установка на Ubuntu 20.04
В следующей статье мы рассмотрим, как мы можем установить LEMP (Nginx, MariaDB и PHP) в Ubuntu 20.04. Этот программный стек широко используется для хостинга небольших и крупных веб-сайтов / блогов. Если вы один из тех, кто предпочитает использовать сервер Apache для этих задач, вы можете взглянуть на ЛАМПЫ.
Программный стек LEMP — это группа программных элементов, которые могут использоваться для доставки динамических веб-страниц и веб-приложений. Этот акроним описывает Операционная система Linux, С Веб-сервер Nginx. Бэкэнд-данные хранятся в MariaDB y динамическая обработка управляется через PHP. В следующих строках мы увидим, как установить все это локально, используя компьютер с Ubuntu 20.04.
Установка программного стека LEMP в Ubuntu 20.04
На момент написания, если следовать приведенным ниже инструкциям, Мы сможем установить пакеты EMP (Nginx v1.19, PHP v7.4, MariaDB v10.3) в Ubuntu 20.04..
Установить Nginx из репозитория
Nginx предоставляет репозиторий для операционной системы Ubuntu. Официальный репозиторий Nginx включает версию v1.19.
Чтобы начать установку Nginx из репозитория, мы собираемся открыть терминал (Ctrl + Alt + T) и обновить список доступного программного обеспечения с помощью команды:
Следующее, что мы сделаем, это установить некоторые пакеты:
sudo apt install curl gnupg2 ca-certificates lsb-release
Далее в том же терминале мы будем добавьте необходимый ключ и репозиторий, чтобы можно было установить Nginx:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu focal nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
После того, как репозиторий был правильно добавлен, мы можем перейти к установить пакет Nginx с помощью команд:
sudo apt update; sudo apt install nginx
После завершения установки мы запустить службу Nginx командой:
sudo systemctl start nginx
После запуска сервера мы можем открыть веб-браузер и посетите IP-адрес нашего сервера. В данном случае, поскольку я делаю это локально, это будет IP-адрес компьютера, на который я только что его установил. Вы должны увидеть страницу Nginx по умолчанию, подтверждающую, что сервер установлен и работает правильно.
Корневой каталог документа Nginx по умолчанию в Ubuntu 20.04 можно найти в папке / USR / доли / Nginx / html и его файлы конфигурации в / и т.д. / nginx /.
Установить MariaDB
Следующим шагом будет установка сервера MariaDB с помощью следующей команды. По умолчанию Ubuntu 20.04 включает MariaDB v10.3..
sudo apt install mariadb-server mariadb-client
Далее нам нужно будет установить пароль root и безопасный экземпляр MariaDB с помощью команды mysql_secure_installation. На все вопросы, которые вы нам задаете, больше не будет ответа »y‘. Хотя читать их всегда приятно.
sudo mysql_secure_installation
Установить PHP-FPM
На этом этапе мы будем устанавливать PHP-FPM (Менеджер процессов PHP-FastCGI) для отображения динамического контента, написанного на PHP.
Чтобы установить PHP-FPM, мы будем использовать следующую команду. По умолчанию на сегодняшний день Ubuntu 20.04 включает PHP-FPM v7.4..
sudo apt install php-fpm php-mysql php-cli
PHP-FPM слушает сокет /run/php/php7.4-fpm.sock по умолчанию. Чтобы использовать TCP-соединение, мы собираемся отредактировать следующий файл:
sudo vim /etc/php/7.4/fpm/pool.d/www.conf
Попав в файл, мы будем изменить параметр прослушивания:
listen = /run/php/php7.4-fpm.sock
После внесения изменений нам остается только сохранить файл и закрыть. Следующее, что мы сделаем, это перезапустите PHP-FPM с помощью команды:
sudo systemctl restart php7.4-fpm.service
Тестирование LEMP
В качестве доказательств, мы собираемся создать виртуальный хост на основе имени на сервере Nginx, чтобы протестировать нашу установку стека LEMP. Следующие ниже имена и адреса являются лишь примером того, что каждый пользователь адаптирует их к своим потребностям.
- Доменное имя: site.betweenonesandzeroes.local
- Корень документа: /www/site.entreunosyceros.local
Начнем с создания файл конфигурации виртуального хоста для нашего домена в каталоге /etc/nginx/conf.d/:
sudo vim /etc/nginx/conf.d/site.entreunosyceros.local.conf
Внутри файла мы добавим следующий контент:
Как только контент вставлен, мы сохраняем и закрываем. А теперь давай создать корневой каталог для размещения файлов PHP:
sudo mkdir -p /www/site.entreunosyceros.local
Следующее будет сменить владельца корневого каталога:
sudo chown -R www-data:www-data /www/site.entreunosyceros.local/
к протестировать поддержку PHP-FPM, мы поместим файл .php в корень документа виртуального хоста с помощью команды:
echo "" | sudo tee /www/site.entreunosyceros.local/index.php
Мы продолжаем перезапуск Nginx:
sudo systemctl restart nginx
Сейчас давайте создадим запись хоста для домена (в этом примере site.entreunosyceros.local) в файле / etc / hosts, в случае, если в нашей среде нет DNS-сервера для разрешения имен.
Внутри файла мы будем добавьте запись хоста, как показано ниже.
10.0.2.15 site.entreunosyceros.local site
Сохраняем изменения и закрываем файл. Следующее, что мы сделаем, это откройте веб-браузер и напишите имя используемого в адресной строке:
В предыдущем снимке В строке серверного API видно, что PHP работает на нашем сервере через FPM / FastCGI..
И на этом можно заключить локальная установка LEMP на Ubuntu 20.04.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » LEMP (Nginx, MariaDB и PHP), установка на Ubuntu 20.04