Инсталирайте Nginx на Debian 12

Instalirajte Nginx Na Debian 12



В това ръководство ще демонстрираме как да инсталирате и конфигурирате Nginx на Debian 12.

Предпоставки:

За да изпълните стъпките, които са демонстрирани в това ръководство, имате нужда от следните компоненти:

  • Правилно конфигурирана система Debian 12. Разгледайте как да инсталирате Debian на VirtualBox VM .
  • Достъп до не-root потребител със sudo привилегия. Научете повече за управление на привилегията sudo с помощта на /etc/sudoers в Debian .

Nginx на Debian

Разработено и поддържано от Проект Debian , Debian е a популярен , безплатна Linux дистрибуция с отворен код. Debian е добре известен със своята стабилност, сигурност и подкрепа от общността. Debian 12 (кодово име „bookworm“) е най-новата стабилна версия. Научете повече за надграждане от Debian 11 до Debian 12 .







Nginx е безплатен уеб сървър с отворен код, който е известен със своята висока производителност, мащабируемост, ефективност на паметта и сигурност. Освен това може да функционира и като обратен прокси, балансьор на натоварването, HTTP кеш и т.н.



В Debian Nginx е директно достъпен от официалните хранилища на пакети. Възможно е обаче да е леко остарял в резултат на Цикъл на издаване на пакети на Debian . За щастие, Nginx предлага официално репо на Debian с най-новите версии.



Метод 1: Инсталиране на Nginx от Debian Repo

Първо отворете терминален прозорец и актуализирайте APT репо кеша:





$ sudo подходяща актуализация

Nginx се предлага като пакет „nginx“:



$ подходящо показване на nginx

За да инсталирате Nginx, изпълнете следната команда:

$ sudo ап Инсталирай nginx

Метод 2: Инсталиране на Nginx от Nginx Repo

Конфигурирането на Nginx APT repo предоставя най-новата версия на Nginx. Въпреки това може да е в конфликт с други пакети на Nginx от репото по подразбиране.

Инсталиране на предпоставки

Първо инсталирайте необходимите пакети:

$ sudo ап Инсталирай curl gnupg2 ca-сертификати lsb-release debian-archive-keyring

Импортиране на GPG подписващ ключ

Ключът за подписване на Nginx е необходим за APT, за да провери автентичността на изтеглените пакети. Вземете ключа за подписване:

$ къдря https: // nginx.org / ключове / nginx_signing.key | gpg --мило | sudo тениска / usr / дял / ключодържатели / nginx-archive-keyring.gpg > / разработка / нула

Проверете дали е импортиран правилният ключ:

$ gpg --суха тренировка --тихо --без ключодържател --внос --импортиране-опции внос-покажи / usr / дял / ключодържатели / nginx-archive-keyring.gpg

Изходът трябва да отпечата 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 като пръстов отпечатък на ключа. Ако не, премахнете файла от /usr/share/keyrings/nginx-archive-keyring.gpg и рестартирайте процеса.

Добавяне на Nginx APT Repo

С инсталиран ключ за подписване вече можем да добавим Nginx repo към APT. Nginx предлага два клона за освобождаване:

стабилен : По-добра съвместимост с модули на трети страни. Получава само критични поправки.

основна линия : Новите функции може да повлияят на съвместимостта на модула. Въпреки това, той получава повече корекции на грешки, корекции за сигурност и критични корекции.

Nginx официално препоръчва внедряването на главния клон във всички случаи. За да добавите главния клон на Nginx, изпълнете следната команда:

$ ехо 'deb [подписан от=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx' | sudo тениска / и т.н / ап / източници.списък.d / nginx.list

Ако вместо това искате стабилен клон на Nginx, изпълнете следната команда:

$ ехо 'deb [подписан от=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx' | sudo тениска / и т.н / ап / източници.списък.d / nginx.list

Фиксиране на репо

За да принудим APT да използва Nginx repo, когато работим с пакети, свързани с Nginx, ние активираме закрепването на repo:

$ ехо -То е 'Пакет: * ПИН: произход nginx.org Pin: освобождаване на o=nginx ПИН-приоритет: 900 ' | sudo тениска / и т.н / ап / предпочитания.d / 99nginx

Инсталиране на Nginx

С конфигурирано ново репо, актуализирайте кеша на APT репо:

$ sudo подходяща актуализация

Вижте информацията за пакета Nginx:

$ подходящо показване на nginx

Накрая инсталирайте Nginx:

$ sudo ап Инсталирай nginx

Настройка на защитната стена

Debian идва с предварително инсталирана защитна стена iptables (netfilter). За по-лесно използване обаче се препоръчва да използвате UFW защитна стена . По същество това е по-удобен за потребителя интерфейс към netfilter.

По подразбиране UFW блокира достъпа на Nginx до мрежата. За да разрешите HTTP/HTTPS достъп, изпълнете следната команда:

$ sudo уф позволи 80 , 443 / tcp

Ако искате само HTTP достъп, вместо това използвайте следната команда:

$ sudo уф позволи 80 / tcp

Ако искате само HTTPS достъп, вместо това използвайте следната команда:

$ sudo уф позволи 443 / tcp

Проверете дали правилата са добавени успешно:

$ sudo ufw състояние

Проверка на инсталацията на Nginx

Има няколко начина, по които можем да проверим дали инсталацията на Nginx е успешна. Първо проверете състоянието на услугата Nginx:

$ sudo systemctl състояние nginx

Ако не работи, стартирайте сървъра:

$ sudo systemctl стартира nginx

Сега отворете следния URL адрес в уеб браузър:

$ http: // локален_хост_или_сървър_ip /

Трябва да стигнете до началната страница на Nginx по подразбиране.

Управление на процеса Nginx

При инсталиране Nginx регистрира услуга със systemd. Можем лесно да управляваме процесите на Nginx с помощта на услугата.

Състояние на Nginx

Следната команда връща състоянието на Nginx:

$ sudo systemctl състояние nginx

Спиране на Nginx

Следната команда спира Nginx:

$ sudo systemctl спира nginx

Стартиране на Nginx

Ако Nginx не работи, използвайте следната команда, за да стартирате сървъра:

$ sudo systemctl стартира nginx

Презареждане на Nginx

Nginx не изисква пълно рестартиране, за да приложи промени в конфигурацията си. В този случай можем да презаредим услугата Nginx, без да прекъсваме никаква връзка:

$ sudo systemctl презареди nginx

Рестартиране на Nginx

За да рестартирате Nginx сървъра, изпълнете следната команда:

$ sudo systemctl рестартирайте nginx

Презареждане или рестартиране на Nginx

Ако не сте сигурни дали да презаредите или рестартирате Nginx, използвайте следната команда:

$ sudo systemctl презареждане или рестартиране на nginx

В този случай systemd автоматично решава най-добрия курс на действие.

Бонус съвети 1: Блокове на Nginx

Подобно на виртуалните хостове в Apache, Nginx също поддържа множество хостове на един сървър.

Ето фиктивна конфигурация, която обработва два виртуални сървъра ( източник ):

http {

индекс индекс. html ;

сървър {

име на сървър www. домейн1 . с ;

access_log регистрационни файлове / домейн1. достъп . дневник основен ;

корен / беше / www / домейн1. с / htdocs ;

}

сървър {

име на сървър www. домейн2 . с ;

access_log регистрационни файлове / домейн2. достъп . дневник основен ;

корен / беше / www / домейн2. с / htdocs ;

}

}

Файлът съдържа множество блокове в конфигурационния файл, всеки от които описва различни свойства. Най-важните блокове са сървърът и блоковете за местоположение:

  • сървър : Описва виртуален сървър за обработка на клиентски заявки от определен тип. Може да има множество сървърни блокове за множество виртуални сървъри. Входящите връзки се пренасочват към различни сървърни блокове въз основа на заявеното име на домейн, IP адрес и порт.
  • местоположение : Това е подблок в сървърния блок. Той описва как Nginx трябва да обработва входящите клиентски заявки за различни ресурси.

Тези конфигурации се съхраняват във файлове в /etc/nginx/sites-available . Може да има уникални файлове за всеки сървърен блок. Конфигурациите се прилагат, когато се поставят под /etc/nginx/sites-enabled . Обикновено конфигурационните файлове от достъпните сайтове са свързани символично към активираните сайтове.

Бонус съвети 2: Важни файлове и директории на Nginx

Ето кратък списък с важни файлове и директории на Nginx:

  • /etc/nginx : Родителската директория, която хоства всички конфигурации на Nginx.
  • /etc/nginx/sites-available : Съдържа сървърните блокови файлове. Конфигурационните файлове не се използват.
  • /etc/nginx/sites-enabled : Той също така хоства сървърните блокове за всеки сайт. Обикновено те са символни връзки от наличните сайтове. Nginx активно използва конфигурации от тази директория, за да обслужва клиентските заявки.
  • /etc/nginx/snippets : Той хоства конфигурационните фрагменти, които могат да бъдат внедрени другаде.
  • /etc/nginx/ngnix.conf : Това е основният конфигурационен файл за Nginx. Той управлява глобалното поведение на Nginx.

Заключение

Показахме различните начини за инсталиране на Nginx в Debian. Също така накратко обсъдихме как да управляваме процесите на Nginx с помощта на systemd. Освен това накратко засегнахме блоковете на Nginx и как Nginx може да бъде конфигуриран да обслужва множество виртуални хостове.

Интересувате ли се да научите повече за Nginx? Разгледайте Подкатегория Nginx .