Настройка LEMP серверов на Debian 9 Stretch Linux

Как настроить сервер LEMP на Debian 9 Stretch Linux

Создание стека с Nginx, PHP и MariaDB – вопрос нескольких команд, но требует точности! Прямо сейчас возьмите в работу терминал и выполните следующее:

Первый шаг: Установите необходимые пакеты.

apt update && apt install nginx php-fpm mariadb-server

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

mysql_secure_installation

Второй шаг: Настройка конфигурации веб-сервера. Откройте файл /etc/nginx/sites-available/default и внесите изменения. Замените блок server на:

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

Сохраните изменения и перезапустите Nginx:

systemctl restart nginx

Третий шаг: Проверьте работу PHP. Создайте файл info.php в корне вашего веб-директории с содержимым:

<?php phpinfo(); ?>

Теперь откройте браузер и введите http://your_domain.com/info.php. Если всё настроено правильно, увидите информацию о версии PHP!

Внимание! Удалите файл info.php после работы. Он раскрывает конфиденциальную информацию о конфигурации.

Четвертый шаг: Ограничьте доступ к MySQL. Подключитесь к базе данных:

mysql -u root -p

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

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON dbname.* TO 'newuser'@'localhost';

Это обеспечит лучшую безопасность вашей системы и баз данных!

Важно помнить, что регулярное обновление пакетов критично для безопасности.

Теперь ваше решение готово к работе. Проводите тесты, следите за логами, используте journalctl -u nginx для диагностики! Успехов в администрировании!

Установка Nginx на Debian 9 Stretch

Для инсталляции веб-сервера Nginx выполните следующую команду:

Читайте также:  Как узнать информацию о системе в Linux?

sudo apt update && sudo apt install nginx

Важно помнить, что после завершения инсталляции необходимо проверить статус службы. Используйте команду:

systemctl status nginx

Вы должны увидеть статус «active (running)», что подтверждает успешный запуск.

Важно! Откройте порт 80 на вашем фаерволе, чтобы обеспечить доступ к Nginx.

Чтобы сделать это, выполните команду:

sudo ufw allow 'Nginx Full'

Это позволит входящим соединениям через HTTP и HTTPS. Учтите, что без этого шага ваш сервер будет недоступен извне.

Конфигурационные файлы находятся в каталоге:

/etc/nginx/sites-available/

Создайте новый файл конфигурации для вашего веб-приложения, назвав его myapp:

sudo nano /etc/nginx/sites-available/myapp

Не забудьте создать символическую ссылку на файле в каталоге sites-enabled:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/

После внесения изменений проверьте конфигурацию на наличие синтаксических ошибок:

sudo nginx -t

Если ошибки отсутствуют, перезапустите службу для применения изменений:

sudo systemctl restart nginx

Помните! Логи доступа и ошибок находятся в:

/var/log/nginx/access.log и /var/log/nginx/error.log

Мониторинг этих файлов поможет вам выявить потенциальные проблемы.

Читайте также:  Установка qBittorrent на Ubuntu 16.04 для настольной версии и сервера

Настройка PHP для работы с Nginx

Необходима корректная интеграция PHP с Nginx через FastCGI. Проверьте наличие установленного пакета php-fpm. Установите его командой:

sudo apt install php-fpm

После установки, откройте файл конфигурации PHP-FPM, который обычно находится по адресу:

/etc/php/7.X/fpm/pool.d/www.conf

Важный параметр – listen. Убедитесь, что он установлен на правильный путь, например:

listen = /run/php/php7.X-fpm.sock

Обновите конфигурацию Nginx, добавив в серверный блок следующую директиву:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.X-fpm.sock;
}

Помните, что версия PHP и путь к сокету должны совпадать с теми, что у вас установлены.

Важно помнить, что без корректной настройки прав доступа к PHP-FPM ваши скрипты могут не работать.

Проверьте права на папке с сокетом:

sudo chown www-data:www-data /run/php/php7.X-fpm.sock

После всех изменений перезапустите сервисы командой:

sudo systemctl restart nginx sudo systemctl restart php7.X-fpm

Теперь протестируйте выполнение PHP файлов с помощью файла info.php:

<?php phpinfo(); ?>

Установка и настройка MariaDB для оптимальной работы

Запустите установку MariaDB, используя пакетный менеджер. Выполните команду:

sudo apt install mariadb-server

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

sudo systemctl start mariadb
sudo systemctl enable mariadb

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

sudo mysql_secure_installation

Следуйте инструкциям, которые предложит система. Установите пароль для root, отключите доступ без пароля, удалите тестовую базу и закройте доступ к удаленному логину. Каждый из этих шагов критически важен.

Важно помнить, что безопасность базы данных – это залог стабильной работы вашего приложения.

Теперь подключитесь к базе данных:

Читайте также:  Как в Linux добавить на график в таблице линию тренда?

sudo mysql -u root -p

Здесь можно создавать пользователей и базы данных. Например, создание нового пользователя:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Не забудьте предоставить права на нужную базу данных:

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Внимание! Привилегии применяются мгновенно, но всегда проверяйте настройки доступа после внесения изменений. Это поможет избежать возможных уязвимостей.

Конфигурация виртуальных хостов в Nginx

Создайте отдельные конфигурации для каждого виртуального хоста. Это обеспечивает простоту и управление. В каталоге /etc/nginx/sites-available создайте файл, например, example.com. Внутри него определите серверный блок. Пример:


server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}

Важно! Не забудьте создать символьную ссылку в каталоге sites-enabled:


sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

После этого проверьте конфигурацию на наличия ошибок, воспользовавшись командой:


sudo nginx -t

Если все в порядке, перезапустите службу. Это необходимый шаг для применения изменений. Команда:


sudo systemctl restart nginx

Помните! Каждое изменение в конфигурации требует перезапуска службы для вступления в силу.

Минимизируйте ошибки, добавив логирование для виртуальных хостов. В конфигурационном файле добавьте строки для записи ошибок и доступа:


error_log /var/log/nginx/example.com_error.log;
access_log /var/log/nginx/example.com_access.log;

Детализированные логи помогут в отладке и мониторинге. С ведением логов есть возможность отслеживать трафик и выявлять проблемы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *