Linux nginx php mariadb

Установка (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 , что на практике не используется.

Читайте также:  Команды настройки обновлений linux

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 для этих задач, вы можете взглянуть на ЛАМПЫ.

Читайте также:  Default user arch linux

Программный стек 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

Чтобы начать установку Nginx из репозитория, мы собираемся открыть терминал (Ctrl + Alt + T) и обновить список доступного программного обеспечения с помощью команды:

Следующее, что мы сделаем, это установить некоторые пакеты:

установить сертификаты и завить

sudo apt install curl gnupg2 ca-certificates lsb-release

Далее в том же терминале мы будем добавьте необходимый ключ и репозиторий, чтобы можно было установить Nginx:

добавить репозиторий для 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 с помощью команд:

установить nginx для lemp

sudo apt update; sudo apt install nginx

После завершения установки мы запустить службу Nginx командой:

sudo systemctl start nginx

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

сервер nginx, работающий в веб-браузере

Корневой каталог документа Nginx по умолчанию в Ubuntu 20.04 можно найти в папке / USR / доли / Nginx / html и его файлы конфигурации в / и т.д. / nginx /.

файлы nginx

Установить MariaDB

версия mariadb LEMP

Следующим шагом будет установка сервера MariaDB с помощью следующей команды. По умолчанию Ubuntu 20.04 включает MariaDB v10.3..

установка mariadb для LEMP

sudo apt install mariadb-server mariadb-client

Далее нам нужно будет установить пароль root и безопасный экземпляр MariaDB с помощью команды mysql_secure_installation. На все вопросы, которые вы нам задаете, больше не будет ответа »y‘. Хотя читать их всегда приятно.

sudo mysql_secure_installation

Установить PHP-FPM

На этом этапе мы будем устанавливать PHP-FPM (Менеджер процессов PHP-FastCGI) для отображения динамического контента, написанного на PHP.

Читайте также:  Steam linux operating system

версия php для LEMP

Чтобы установить PHP-FPM, мы будем использовать следующую команду. По умолчанию на сегодняшний день Ubuntu 20.04 включает PHP-FPM v7.4..

установить php-fpm для LEMP

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

конфигурация www.conf PHP

После внесения изменений нам остается только сохранить файл и закрыть. Следующее, что мы сделаем, это перезапустите 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

конфигурация виртуального хоста LEMP test

Внутри файла мы добавим следующий контент:

Как только контент вставлен, мы сохраняем и закрываем. А теперь давай создать корневой каталог для размещения файлов PHP:

sudo mkdir -p /www/site.entreunosyceros.local

Следующее будет сменить владельца корневого каталога:

sudo chown -R www-data:www-data /www/site.entreunosyceros.local/

к протестировать поддержку PHP-FPM, мы поместим файл .php в корень документа виртуального хоста с помощью команды:

создать тестовый файл для LEMP

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

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

информация о php в браузере локального сайта

В предыдущем снимке В строке серверного API видно, что PHP работает на нашем сервере через FPM / FastCGI..

И на этом можно заключить локальная установка LEMP на Ubuntu 20.04.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » LEMP (Nginx, MariaDB и PHP), установка на Ubuntu 20.04

Источник

Оцените статью
Adblock
detector