Перейти к содержимому

Welcome to nginx on debian что это

  • автор:

26 мая 2021 23:05:10 | 2 комментария

Установка и базовая настройка Nginx на Debian 10

Данная статья является почти полной копией статьи двухгодичной давности про установку и базовую настройку Nginx на Debian 9. С тех пор не мало воды утекло, Debian 9 уже не так актуальна, уже давно вышла Debian 10 и мы поговорим про быструю установку и настройку Nginx именно на Debian 10.

Исходные данные: Debian 10 (buster)
Задача: Установить и настроить Nginx (ветка Mainline)

1. Выполняем установку wget (Опционально):

apt-get update apt-get install -y wget

2. Скачиваем и добавляем ключ Nginx Inc. на нашу систему:

wget --quiet -O - http://nginx.org/keys/nginx_signing.key | apt-key add -

Если нужно установить Nginx из ветки Stable, то выполняем:

echo "deb http://nginx.org/packages/debian/ $(lsb_release -sc) nginx">/etc/apt/sources.list.d/nginx.list echo "deb-src http://nginx.org/packages/debian/ $(lsb_release -sc) nginx">>/etc/apt/sources.list.d/nginx.list

Если нужно установить Nginx из ветки Mainline, то выполняем:

echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx">/etc/apt/sources.list.d/nginx.list echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx">>/etc/apt/sources.list.d/nginx.list

3. Обновляем список пакетов:

apt-get update

4. Устанавливаем Nginx и OpenSSL (опционально):

apt-get install -y nginx apt-get install -y openssl

5. После установки запускаем Nginx:

systemctl enable --now nginx

6. Проверим факта запуска Nginx:

# systemctl status nginx ● nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-05-26 20:40:24 CEST; 2s ago Docs: https://nginx.org/en/docs/ Process: 20629 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 20630 (nginx) Tasks: 2 (limit: 2296) Memory: 1.9M CGroup: /system.slice/nginx.service ├─20630 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─20631 nginx: worker process May 26 20:40:24 myserver systemd[1]: Starting nginx - high performance web server. May 26 20:40:24 myserver systemd[1]: nginx.service: Can't open PID file /run/nginx.pid (yet?) after start: No such file or directory May 26 20:40:24 myserver systemd[1]: Started nginx - high performance web server.

Строка «Active: active (running)» говорит о работе Nginx.

7. Проверим открытые порты:

# netstat -ltupn | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 20630/nginx: master

Видим, что Nginx ожидает соединения на 80 порту на всех сетевых интерфейсах.

Теперь займемся базовой настройкой.

1. Создадим директорию для хранения SSL сертификатов и DH-ключей, а также создаем файл с параметрами для DHE-шифров:

mkdir /etc/nginx/ssl openssl dhparam -out /etc/nginx/ssl/dhparams.pem 2048

2. Создадим директории для хранения настроек Web-сайтов:

mkdir /etc/nginx/sites-available /etc/nginx/sites-enabled

3. Отредактируем основной файл настроек Nginx.

Я приведу базовый эталонный файл настроек который использую я на 99% серверов, рекомендую использовать его с дополнительными Вашими правками под конкретные нужды. В предыдущей статье мы уже рассматривали его, с тех пор ничего не изменилось.

Скачать уже готовый файл для Nginx версии 1.21.x :

wget https://gist.githubusercontent.com/CHERTS/8e9ecf4fbfb765556311a88e5106174b/raw/nginx.conf -O /etc/nginx/nginx.conf

После этого проверяем конфигурацию Nginx:

nginx -t

Если ошибок нет, то перезагружаем конфигурацию Nginx:

nginx -s reload

4. Меняем системные лимиты на количество открытых файлов.

Т.к. мы указали в nginx.conf параметр worker_rlimit_nofile = 10000, то будем исходить из него.

Традиционно во всех статьях в Интернет все меняют лимиты через редактирование файла /etc/security/limits.conf, но это неправильно, т.к. для Debian 8 и Debian 9 этот файл не работает.

В Debian 8 и Debian 9 используется система инициализации systemd и поэтому лимиты на максимальное количество открытых файлов нужно настроить для systemd, для этого выплняем:

mkdir -p /lib/systemd/system/nginx.service.d echo "[Service]" >/lib/systemd/system/nginx.service.d/limit.conf echo "LimitNOFILE=10000" >>/lib/systemd/system/nginx.service.d/limit.conf systemctl daemon-reload systemctl restart nginx

Теперь проверим лимиты, для этого смотрим строку «Max open files» в выводе:

# cat /proc/$(cat /var/run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7655 7655 processes Max open files 10000 10000 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7655 7655 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us

Теперь по адресу http://IP-адрес-вашего-сервер Вы сможете увидеть приветственную страницу «Welcome to nginx!».

За вывод данной страницы отвечает пока один единственный виртуальный сервер, его конфигурация находится в файле /etc/nginx/conf.d/default.conf

Выведем его содержимое без комментариев:

cat /etc/nginx/conf.d/default.conf | egrep -Ev "^\s*(;|#|$)"
server < listen 80; server_name localhost; location / < root /usr/share/nginx/html; index index.html index.htm; >error_page 500 502 503 504 /50x.html; location = /50x.html < root /usr/share/nginx/html; >>

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

На этом базовая настройка Nginx завершена, до скорых встреч.

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

Вместо сайта Welcome to NGinx,что делать?

Папки /var/www нету. Data-www не нашёл.
Откуда он берёт приветствие Welcome to NGinx?
И где директория где находится контент сайта?

  • Вопрос задан более трёх лет назад
  • 9039 просмотров

1 комментарий

Оценить 1 комментарий

Lynn

И где в этом конфиге фигурирует var/www?
Решения вопроса 1
Владимр Саков @Tostich Автор вопроса

1)Остановил NGinx
2)Создал файл /home/user/logs/nginx.access.log потому что NGinx очковал что его нет
3)Перезапустил NGinx
4)PROFIT! Теперь он читает мой index!

Эта инструкция решает мою проблему и проблему с незапуском NGinx по причине того что он не может найти PID файл!

То есть эта инструкция решает следующие проблемы:
NGinx не может найти PID файл
NGinx не находит нужный файл
NGinx не хочет запускаться

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1

Папки /var/www нету. Data-www не нашёл.

Так создайте каталог, если его нет.

www-data (а не Data-www) — имя группы.

И что он должен показать, если контент не создали? Страницу из пакета и показывает.

Ответ написан более трёх лет назад
Владимр Саков @Tostich Автор вопроса
Не помогло. Всё равно welcome to nginx.

Tostich: Посмотрел содержимое пакета. У Вас что-то сломано в системе, если не было каталога /var/www. Он должен был создаться при установке пакета.

И что «не помогло»? Если пишете о проблеме, описывайте, что делали.

Владимр Саков @Tostich Автор вопроса

AVKor: Создал каталог /var/www и загрузил в него index.html
Не отображается содержание index.html,вместо этого Welcome to nginx.

Выполнил команду apt-get install nginx и всё.

Как установить Nginx на Debian 8

Nginx — популярный HTTP-сервер, альтернативный Apache2. Его можно использовать в качестве обратного прокси-сервера, почтового сервера или веб-сервера. Согласно опросу Netcraft по состоянию на июль 2015 года, Nginx в настоящее время занимает 14% рынка, и с 2007 года наблюдается тенденция к увеличению.

В этом руководстве мы установим Nginx на ваш сервер Debian 8.

Предпосылки

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

  • Одна свежая капля Debian 8.1
  • Пользователь sudo без полномочий root, которого можно настроить, выполнив шаги 2 и 3 этого руководства.

Если не указано иное, все команды в этом руководстве следует запускать от имени пользователя без полномочий root с привилегиями sudo.

Шаг 1 — Установите Nginx

На этом шаге мы будем использовать встроенный установщик пакетов под названием apt-get . Это значительно упрощает управление и облегчает чистую установку.

В рамках предварительных условий вы должны были обновить индекс пакета apt с помощью apt-get и установить пакет sudo . В отличие от других дистрибутивов Linux, в Debian 8 не установлен sudo .

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

Информацию о различиях между Nginx и Apache2, двумя наиболее популярными веб-серверами с открытым исходным кодом, см. в этой статье.

Шаг 2 — Протестируйте свой веб-сервер

На этом этапе мы проверим, доступен ли ваш сервер Nginx.

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

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

Вы должны увидеть следующий вывод HTML.

   Welcome to nginx on Debian! body 

Welcome to nginx on Debian!

If you see this page, the nginx web server is successfully installed and working on Debian. Further configuration is required.

For online documentation and support please refer to nginx.org

Please use the reportbug tool to report bugs in the nginx package with Debian. However, check existing bug reports before reporting a new bug.

Thank you for using debian and nginx.

Ошибка выглядела бы следующим образом. Вы не должны не видеть это.

curl: (52) Empty reply from server 

Шаг 3 — Управление процессом Nginx

Теперь, когда ваш веб-сервер запущен и работает, мы можем перейти к некоторым основным командам управления.

Чтобы остановить ваш веб-сервер, вы можете ввести:

Чтобы запустить веб-сервер, когда он остановлен, введите:

Чтобы остановить и снова запустить службу, введите:

Если вы просто вносите изменения в конфигурацию, Nginx часто может перезагружаться без разрыва соединений. Для этого можно использовать эту команду:

Мы можем убедиться, что наш веб-сервер автоматически перезапустится при перезагрузке сервера, набрав:

Чтобы проверить, работает ли эта конфигурация, перезапустите сервер.

Затем выйдите из системы, так как сейчас сервер перезагружается.

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

Корень сервера и конфигурация

Если вы хотите начать обслуживать свои собственные страницы или приложения через Nginx, вам нужно знать расположение файлов конфигурации Nginx и корневой каталог сервера по умолчанию.

Корень сервера по умолчанию

Корневой каталог сервера по умолчанию — /var/www/html . Файлы, размещенные в этом каталоге, будут обслуживаться на вашем веб-сервере. Это расположение указано в файле конфигурации блока сервера по умолчанию, который поставляется с Nginx и находится по адресу /etc/nginx/sites-enabled/default .

Конфигурация блока сервера

Любые дополнительные серверные блоки, известные как виртуальные хосты в Apache, можно добавить, создав новые файлы конфигурации в /etc/nginx/sites-available . Чтобы активировать эти конфигурации, создайте символическую ссылку на /etc/nginx/sites-enabled , используя следующее:

Все файлы конфигурации в каталоге sites-enabled будут загружены Nginx.

Глобальная конфигурация Nginx

Основной файл конфигурации Nginx находится по адресу /etc/nginx/nginx.conf . Здесь вы можете изменить такие настройки, как пользователь, который запускает процессы демона Nginx, и количество рабочих процессов, которые создаются при запуске Nginx, среди прочего.

Заключение

Теперь, когда у вас установлен веб-сервер, у вас есть множество вариантов типа контента для обслуживания и технологий, которые вы хотите использовать для создания более богатого опыта.

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

Все права защищены. © Linux-Console.net • 2019-2023

Пошаговая инструкция по установке Nginx на Debian 11

Nginx — это программное обеспечение, которое используется для обработки запросов на веб-сайтах и приложениях. Оно может служить веб-сервером для обслуживания статических страниц и файлов, а также обратным прокси-сервером для балансировки нагрузки и распределения запросов между несколькими серверами. Оно известно своей высокой производительностью и эффективностью использования ресурсов, что делает его популярным средством для веб-разработки и управления сетями. В этой статье мы рассмотрим установку nginx на Debian 11. Инструкция будет справделива и для более ранних версий, например Debian 10.

Вот пошаговая инструкция по установке Nginx на Debian 11:

Шаг 1. Обновление системы

Перед началом установки рекомендуется обновить систему. Для этого выполните следующую команду:

sudo apt update && sudo apt upgrade

Шаг 2. Установка Nginx

Выполните команду для установки Nginx:

sudo apt install nginx

Шаг 3. Запуск Nginx на Debian

После установки Nginx автоматически запустится. Если же это не произошло, выполните команду:

sudo systemctl start nginx

Шаг 4. Проверка статуса Nginx

Чтобы убедиться, что Nginx успешно запущен, выполните команду:

sudo systemctl status nginx

Если все прошло успешно, вы увидите сообщение «active (running)».

Шаг 5. Настройка файрвола

Чтобы разрешить доступ к Nginx, необходимо открыть порт 80 и/или 443. Для этого выполните команды:

sudo ufw allow 'Nginx HTTP' sudo ufw allow 'Nginx HTTPS'

Шаг 6. Проверка Nginx

установка nginx на debian 11

Теперь вы можете проверить, что Nginx работает, открыв веб-браузер и вводя IP-адрес сервера в адресной строке. Вы должны увидеть стандартную страницу приветствия «Welcome to nginx!»

Шаг 7. Настройка виртуального хоста

Если вы хотите настроить виртуальный хост, создайте новый конфигурационный файл в директории /etc/nginx/sites-available. Например, для создания файла test.friendhosting.net выполните команду:

sudo nano /etc/nginx/sites-available/test.friendhosting.net

Добавьте следующий код в файл:

server < listen 80; listen [::]:80; server_name test.friendhosting.net www.test.friendhosting.net; root /var/www/test.friendhosting.net/html; index index.html; location / < try_files $uri $uri/ =404; >>

В этом примере мы создаем виртуальный хост для test.friendhosting.net, настраиваем корневую директорию и определяем, какой файл должен использоваться для индекса. Также мы настраиваем проверку файлов и папок при запросе.

Рассмотрим настройку виртуального хоста подробнее.

listen: определяет, какой IP-адрес и порт слушать для входящих соединений. В данном примере «listen 80» указывает, что сервер будет слушать соединения на порту 80, который обычно используется для HTTP-трафика.

server_name: определяет доменное имя сайта, который обслуживает данный виртуальный хост. В данном примере «server_name test.friendhosting.net» указывает, что данный виртуальный хост будет обслуживать сайт с доменным именем test.friendhosting.net.

root: определяет корневую директорию, в которой находятся файлы сайта. В данном примере «root /var/www/test.friendhosting.net» указывает, что файлы сайта находятся в директории /var/www/test.friendhosting.net.

index: определяет имя файла, который будет использоваться в качестве главной страницы сайта. В данном примере «index index.html» указывает, что в качестве главной страницы будет использоваться файл index.html.

location: определяет дополнительные настройки для обработки запросов в зависимости от URL-адреса. В данном примере «location /» указывает, что все запросы, которые начинаются с /, будут обрабатываться в соответствии с указанными правилами. В данном случае, если запрошенный файл не найден, Nginx вернет ошибку 404.

Шаг 8. Активация виртуального хоста nginx на Debian

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

sudo ln -s /etc/nginx/sites-available/test.friendhosting.net /etc/nginx/sites-enabled/

Затем перезапустите Nginx:

sudo systemctl restart nginx

Шаг 9. Создание корневой директории сайта

Для создания корневой директории для виртуального хоста test.friendhosting.net нужно выполнить команду в терминале:

sudo mkdir -p /var/www/test.friendhosting.net

Эта команда создаст директорию test.friendhosting.net в каталоге /var/www/. Опция -p позволяет создавать директории рекурсивно, если они не существуют. Это удобно, если каталог /var/www/ еще не существует.

После создания директории необходимо установить правильные права на нее. Поскольку в нашем примере веб-сервер Nginx работает от имени пользователя www-data, этому пользователю нужно предоставить права на чтение и запись в корневую директорию сайта.

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

sudo chown -R www-data:www-data /var/www/test.friendhosting.net

Эта команда изменит владельца и группу директории test.friendhosting.net на www-data. Опция -R позволяет изменять владельца рекурсивно для всех файлов и поддиректорий внутри директории. После выполнения этой команды nginx сможет получить доступ к файлам в директории test.friendhosting.net и использовать их для обслуживания сайта.

После выполнения данной инструкции мы получили полностью настроенный и работающий веб-сервер Nginx на операционной системе Debian 11. Настроенный виртуальный хост, корневая директория и файл индекса позволяют приступить к разработке и публикации сайта. Данная инструкция является полезным руководством для тех, кто хочет установить и настроить веб-сервер Nginx на Debian 11. Она дает возможность выполнить задачу шаг за шагом и получить полностью настроенный и работающий сервер без каких-либо сложностей. Рекомендуется использовать данную инструкцию как ресурс для всех, кто хочет освоить настройку веб-сервера Nginx на Debian 11.

  • Безопасность
  • Основы Linux
  • Статьи о хостинге

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

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