Научете стъпка по стъпка: Инсталирайте стека LEMP (Nginx, MariaDB, PHP) на Debian 12 „Bookworm“ за ефективен уеб хостинг и невероятно бърза производителност.
Наличието на солидна основа е от решаващо значение за всеки, който се впуска в уеб разработка, създаване на динамични уебсайтове или хостване на приложения. Това е мястото, където стекът LEMP влиза в игра – акроним, представляващ Linux, Nginx, MySQL/MariaDB и PHP – мощна комбинация, която формира гръбнака на безброй уебсайтове и приложения по целия свят.
Debian, известен със своята стабилност, сигурност и обширни хранилища на пакети, остава популярен сред разработчиците и администраторите за създаване на надеждни сървърни среди.
Това изчерпателно ръководство ви превежда през стъпка по стъпка процеса на настройка на Nginx, PHP и MariaDB (стек LEMP) на Debian 12 „Bookworm“. Така че без повече шум, нека се захващаме за работа.
Предпоставки
Преди да се потопим в инсталационния процес, ще очертаем предпоставките, за да гарантираме, че имате безпроблемно изживяване. Това включва достъп до Debian 12 сървър, основни умения за работа с команден ред и потребителски акаунт с sudo
привилегии за изпълнение.
Разбира се, можете да пропуснете sudo
част от командите и ги стартирайте директно като root потребител. Резултатът ще бъде един и същ и в двата случая.
Освен това се уверете, че вашата защитна стена не блокира порт 80 към сървъра и порт 443, ако планирате да използвате SSL.
Стъпка 1: Актуализирайте софтуерните хранилища
Първо, ще използваме APT командата, за да актуализираме списъка с налични пакети. Това гарантира, че само най-новите версии на пакетите се използват по време на инсталирането на стека LEMP на нашата система Debian 12 и предотвратява трудностите.
Освен това се уверете, че системата е напълно актуализирана. Ако пакетите чакат да бъдат актуализирани, съветвам ви да ги приложите, преди да продължите.
sudo apt update
sudo apt upgrade
Стъпка 2: Инсталирайте Nginx Web Server на Debian 12
Уеб сървърът ви позволява да обслужвате съдържание на посетители, като например уеб страници. Тази стъпка се грижи за второто изискване в стека LEMP, уеб сървъра Nginx.
Използвайте следните команди, за да инсталирате най-новата версия на Nginx на вашия Debian 12 сървър. Когато бъдете подканени, въведете „Y“, за да потвърдите, че искате да го инсталирате.
sudo apt install nginx
След инсталирането Nginx ще работи на вашия Debian 12 сървър. Но първо нека проверим дали работи според очакванията.
Отворете уеб браузър на вашата система и въведете IP адреса на сървъра в адресната лента.
Трябва да бъдете посрещнати от началната страница на Nginx по подразбиране.
Стъпка 3: Инсталирайте MariaDB сървър на Debian 12
Сега, когато имате работещ уеб сървър, трябва да инсталирате сървъра на базата данни, за да съхранявате и управлявате данни за вашия уебсайт. Вместо MySQL, в този урок ще инсталираме MariaDB.
Това е RDBMS с отворен код (система за управление на релационни бази данни), обратно съвместима, двоична замяна на MySQL. MariaDB осигурява подобрена производителност с по-бързи скорости на репликация, по-строги мерки за сигурност и допълнителни двигатели за съхранение в сравнение с MySQL.
За да инсталирате базата данни MariaDB, изпълнете командите по-долу и когато бъдете подканени, потвърдете инсталирането, като напишете „Y“и удряне”Въведете.”
sudo apt install mariadb-server
3.1 Защита на MariaDB сървър
След това ще използваме скрипт (mysql_secure_installation
), предоставени от „mariadb-сървър”, за да ограничите достъпа до сървъра и да премахнете неизползваните акаунти, тъй като настройката по подразбиране прави вашата инсталация на MariaDB опасна.
Стартирайте скрипта за сигурност след инсталирането.
sudo mysql_secure_installation
След като изпълните горната команда, ще бъдете подканени да въведете основната парола на MariaDB. Просто оставете root паролата празна и натиснете „Въведете” ключ. За останалото продължете да пишете „Y“и удряне”Въведете.”
Паролата, зададена по-горе за основния акаунт на MariaDB, е ако влезете в сървъра от разстояние.
За да влезете от хоста, който инсталирахме, не е необходимо да въвеждате парола и няма да ви бъде поискана такава. Просто напишете „sudo mysql
” за достъп до обвивката на MariaDB.
3.2 Тестване на инсталацията на MariaDB
Нека влезем в него и изпълним проста заявка, за да проверим дали сървърът на базата данни функционира според очакванията.
За да влезете, въведете командата, показана по-долу.
sudo mysql
Това ще се свърже със сървъра MariaDB и обвивката на MariaDB трябва да се появи. След това изпълнете проста заявка:
select version();
В отговор на вашето запитване сървърът MariaDB трябва да върне своята версия. Накрая използвайте quit
команда за излизане от обвивката на MariaDB и връщане към системния терминал.
Стъпка 5: Инсталирайте PHP на Debian 12
Последната стъпка за инсталиране на пълен LEMP стек на нашата система Debian 12 „Bookworm“ е инсталирането на PHP скриптовия език. За да добавите PHP поддръжка към Nginx, трябва да инсталирате и използвате PHP-FPM за изпълнение на PHP файлове.
И така, за да инсталирате PHP-FPM и няколко най-широко използвани PHP модула, въведете командата по-долу и когато бъдете подканени, въведете „Y”, за да потвърдите, че искате да го инсталирате.
sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml
Командата по-горе ще инсталира поддръжка на PHP 8.2 на вашата система Debian 12.
Стъпка 5: Конфигурирайте Nginx за изпълнение на PHP файлове
Сега, след като инсталирахме всички LEMP компоненти на нашата система Debian 12, трябва да редактираме конфигурационния файл за виртуален хост Nginx по подразбиране.
sudo vim /etc/nginx/sites-enabled/default
Променете „местоположение /” част от това:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
До това:
location / {
try_files $uri $uri/ /index.php?$args;
}
След това добавете следните редове към стандартния „сървър”, за да позволи на Nginx да обработва PHP файлове:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
Тествайте модифицирания конфигурационен файл на Nginx за синтактични грешки, като въведете следната команда:
sudo nginx -t
Ако получите горния резултат, всичко е наред и ни остава само една последна стъпка. Въпреки това, ако бъдат съобщени грешки, проверете отново файла си, преди да продължите.
Накрая рестартирайте Nginx, за да влязат в сила промените.
sudo systemctl restart nginx
Ако искате да научите как да създавате и редактирате Nginx сървърни блокове за вашите виртуални хостове, препоръчваме нашето отлично ръководство за „Как да създадете Nginx виртуален хост (сървърен блок)“.
Стъпка 6: Тествайте вашата инсталация на Debian 12 LEMP
Завършихте инсталирането на Nginx, MariaDB и PHP на Debian 12, така че вашият LEMP стек вече трябва да работи напълно.
И накрая, нека създадем тестов PHP файл, за да проверим дали PHP-FPM работи и е интегриран с Nginx. В сървърния блок по подразбиране по-горе нашият сайт се обслужва от „/var/www/html”, така че ще създадем тестов файл там:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php
Сега можете да получите достъп до „test.php” от уеб браузър, използвайки домейна на вашия сайт или IP адреса на сървъра, последван от „/test.php.”
Ще се появи уеб страница с пълна информация за вашата PHP инсталация.
Честито! Вие успешно инсталирахте напълно функционален LEMP стек на Debian 12.
Заключение
Докато приключваме това пътуване, вие вече сте оборудвани с експертните познания за инсталиране, конфигуриране и използване на потенциала на стека LEMP. Освен това, с Debian 12 “Bookworm” като сървърна платформа, вие се възползвате от здрава основа, известна със своята стабилност, сигурност и удобство за потребителя.
Има няколко следващи стъпки, които можете да предприемете от тук. Например, прочетете нашето ръководство за настройка на SSL сертификати на сървъра Nginx, за да сте сигурни, че уебсайтът ви предоставя съдържание през защитена SSL (HTTPS) връзка.
Благодаря за отделеното време! Надявам се това ръководство да ви е било полезно. Вашите отзиви и коментари са добре дошли.
Публикациите се превеждат автоматично с google translate