Nginx на хостинге разберем детали


Поднимаем Debian сервер для Python/Django — установка и настройка с нуля. Как настроить сервер?



nginx / hosting

H/2 free SSL, CloudLinux, NVMe, antiDDOS

nginx + fpm-php

nginx + fpm-php / nginx + apache + lsapi-php

CloudLinux OS

web-сервер nginx

первые три дня бесплатно / первый месяц за полцены

попробуйте nginx nvme хостинг совершенно бесплатно в течении первых трех дней, при оплате первого месяца nginx хостинга скидка 50%, промокод для получения скидки NGINX-50

быстрые NVMe SSD

intel nvme ssd — диски

NVMe — это логичное развитие SSD накопителей. В основе лежат всё те же твердотельные, энергонезависимые элементы памяти, но поменялось всё остальное.

intel xeon gold — процессоры

Модель процессоров: Intel Xeon Gold 5115 @ 2.40GHz: 10-ядерный процессор, частота 2.4 Ггц, socket LGA3647, объем кэша L2/L3: 10240 Кб / 14080 Кб, ядро Skylake (2017).

cloudlinux- операционная система

Операционная система CloudLinux — это лидер среди платформ для серверов, используемых одновременно для нескольких веб-сайтов.

cagefs — файловая система

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

lve — управление ресурсами

Доступная виртуальная среда позволяет легко и просто ограничить ресурсы сервера — CPU, количество операций ввода/вывода, память, количество процессов и одновременных подключений для каждого пользователя.

backup каждый час

Резервное копирование данных производится каждый час. Система резервного копирования производит синхронизацию данных хостинг-серверов с двумя бекап-серверами.

геораспределенная защита от DDoS атак

абсолютно для всех клиентов, в независимости от тарифа, мы обеспечиваем отражение DDoS-атак любой сложности и мощности. Для этого используется инфраструктура DDoS Guard с фильтрующими узлами в разных точках мира: Нидерландах, Германии, России, Казахстане, Китае и США. Близость узлов к источнику трафика минимизирует задержки для конечных пользователей.

отзывы наших клиентов

nginx всегда был самым быстрым веб-сервером! отлично подходит для работы wordpress.

1C-Bitrix при работе активно использует файловую систему сервера и базу данных. Хостинг с дисками NVMe превосходное решение для подобных проектов: высокий показатель iops, быстрые чтение/запись.

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

Отзывы и обзоры хостинга

Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway nginx (HTTP Error 502) и как эту проблему решить.

Если вы посетитель

Если вы не можете попасть на сайт из-за ошибки 502, сделать можно не так много:

  • Перезагрузить страницу, сбросив кеш (Ctrl+Shift+R, Ctrl+F5 или Shift+F5). К сожалению, это помогает не так часто, как хотелось бы.
  • Зайти попозже. Через минуту, через полчаса, ночью или рано утром. Скорее всего сервер перегружен. Исправить это вы не сможете, этим должен заняться администратор сайта. Если сайт для вас важный, и у вас есть время, напишите администратору письмо. Чем больше обращений, тем вероятнее, что на проблему обратят внимание и серьезно ей займутся.

Если вы администратор сайта

Если эта ошибка возникает, значит HTTP-запросы от посетителей к вашему сайту идут через так называемый «шлюз», программу-посредник. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.

502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.

Если PHP работает в режиме FastCGI, то любой веб-сервер перед ним будет шлюзом.

Почему Apache не смог обработать запрос? Как это исправить?

Скорее всего, если сайт раньше работал, а теперь не открывается, дело не в ошибках конфигурации среды. Причина может быть в нехватке ресурсов сервера, и, следовательно, в невозможности обслужить всех клиентов. В частности, проблема может быть в нехватке оперативной памяти. Или вы можете упираться в какое-то ограничение, например, на количество процессов. Иногда Apache или ваше приложение могут периодически падать/перезапускаться, в эти моменты фронт-серверу тоже ничего не остаётся, кроме как отдавать ошибку 502. Такое может случиться и на VPS, и на shared-хостинге.

  • Если проблема регулярно возникает на обычном хостинге, вы не сможете решить ее самостоятельно. Обратитесь в техподдержку, там этим займутся. Если ситуация не меняется, возможно имеет место оверселлинг или сервер плохо настроен. Подумайте о смене провайдера.
  • Если у вас VPS, то, напротив, скорее всего ошибка 502 — ваша зона ответственности.

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

Если у вас VPS

Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, пришел прожорливый бот, кто-то скачивает ваш сайт целиком или идёт DoS-атака. Веб-серверу нужно бы запустить дополнительные процессы, но памяти под них уже нет. Значит, нужно добавить памяти либо оптимизировать расход доступной

  • Запустите команду top. Посмотрите, есть ли свободная память и запущен ли Apache.
  • Посмотрите логи Apache и nginx (ошибки 502 попадают в него). Есть паразитная активность? Если есть, баньте по ip, настраивайте Fail2ban, подключайте защиту от DdoS.
  • Если получилось ограничить количество запросов к серверу, перезапустите Apache.
  • Если в логах всё нормально, но мало свободной памяти, и есть возможность ее оперативно добавить, попробуйте это сделать. Сейчас у многих провайдеров это делается в биллинге буквально за пару минут.
  • Если же команда top показывает, что свободная память есть, возможно, дело в установленных лимитах на количество php-cgi процессов. Нужно смотреть конфигурационные файлы Apache (httpd.conf), особенно секцию модуля, отвечающего за FastCGI (mod_fascgi или mod_fastcgid), и увеличивать лимиты.

Если дело в нехватке памяти, то в логах будут ошибки OOM (out of memory). Когда ОС очень нужна память, то ядро может попытаться освободить её при помощи механизма OOM killer, просто убивая активные процессы. Например, здесь пришлось пожертвовать Апачем:
Out of memory: kill process 1718 (apache2) score 56789 or a child
Killed process 22504 (apache2)

Другой случай - когда, Apache периодически падает/перезапускается независимо от текущей нагрузки на сайт. В error.log может быть написано:

[core:notice] [pid 5795] AH00052: child pid 5858 exit signal Segmentation fault (11)
[mpm_prefork:notice] [pid 5795] AH00169: caught SIGTERM, shutting down

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

Вот он какой, Grundik

Жизнь замечательных людей

Страницы

Архивы

Рубрики

  • Без рубрики (42)
  • Видеоколлекция — Разное (1)
  • На заметку (5)
  • Новости — Новое (1)
  • Новость дня (5)
  • Хостинг (16)
  • Раскуртка сайта

    Ссылки

    Установка и настройка NGINX на хостинге NICHOST (nic.ru)

    nginx [engine x] — это HTTP-сервер и почтовый прокси-сервер. (http://sysoev.ru/nginx/). Данная статейка позволяет настроить работу Nginx в качестве front-end для посетителей сайтов. Back-end’ом будет выступать Apache.

    Немного автоматизировал установку данного сервера на хостинге от nic.ru

    1) Cоздаем папку nginx для первоначальной настройки:

    mkdir nginx

    2) Скачиваем архив со скриптом формирования nginx.conf:

    tar -xf nginx_script.tar.gz

    3) Запускаем формирование конфигурационного файла:

    ./configure first
    Enter User name: LOGIN
    Enter User IP: ВАШ_IP
    Enter User site: domain.ru

    Если у Ва на хостинге находить только один сайта то следующий пункт пропускаем.

    4) Добавляем сайты в конфигурационный файл:

    ./configure second
    Enter User name: LOGIN
    Enter User IP: ВАШ_IP
    Enter User site: domain2.ru

    И так по каждому сайту.

    5) Создаем скрипт запуска nginx:

    ./configure start
    Enter User name: LOGIN

    6) Теперь необходимо скопировать файл nginx в

    cp nginx

    И nginx.conf в

    cp nginx.conf

    7) Переводим веб сервер и сайты в ручной режим и меняем порт 80 на 8080 в настройках.

    Для сайтов меняем строку в /home/LOGIN/sitename/conf/virtual.conf.manual c

    Для веб сервера меняем строчки в файле /home/LOGIN/etc/httpd.conf.manual с:

    MaxClients 63 на MaxClients 31

    Listen ВАШ_IP:80 на Listen ВАШ_IP:8080

    NameVirtualHost ВАШ_IP:8080 на NameVirtualHost ВАШ_IP:8080
    8) Перезапускаем Apache

    killall httpd,

    9) Создаём папку /var/tmp/nginx

    Запускаем nginx:

    Создано : Суббота, Май 17th, 2008 at 16:22 опубликовано в Хостинг.

    3 комментария to “Установка и настройка NGINX на хостинге NICHOST (nic.ru)”

    Кстати, прав на запись в etc нету! Так что необходимо просто оставить nginx.conf в папке nginx, и внести изменения в скрипт запуска nginx.
    Удачи в настройке.

    Уже на подходе новая версия скрипта. Сейчас скрипт v.2 генерирует конфигурационный файл без ввода каких либо данных.
    Скрипт доступен по адресу http://work.rizl.ru/nginx_script_v2.tar.gz

    Новая и предпоследняя версия скрипта. Определяются все синонимы существующих сайтов. Таким образом можно сразу запускать Nginx без внесения в конфигурацию изменений.

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

    Оставить комментарий

    Вам надо войти чтобы оставить комментарий.

    Работает на WordPress. Разработка и поддержка Grundik, Chevrolet-Club

  • Отзывы

    Любомила
    Ульяна
    Роза
    mendwadar73
    Виссарион

    Написать отзыв

    Success! Your message has been sent.