Как выключить nginx linux

Команды Nginx, которые вы должны знать

Nginx Commands You Should Know

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

Nginx произносится как «engine x» — это бесплатный высокопроизводительный HTTP и обратный прокси-сервер с открытым исходным кодом, отвечающий за загрузку некоторых из крупнейших сайтов в Интернете. Он может использоваться как автономный веб-сервер и как обратный прокси-сервер для Apache и других веб-серверов.

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

Мы предполагаем, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo. Команды, используемые в этом gsh, должны работать на любом современном дистрибутиве Linux, таком как Ubuntu 18.04 и CentOS 8 и Debian 10 .

Запуск Nginx

Запуск Nginx довольно прост. Просто запустите следующую команду:

В случае успеха команда не выдает никаких результатов.

Если вы используете дистрибутив Linux без systemd для запуска типа Nginx:

Вместо запуска службы Nginx вручную рекомендуется настроить ее запуск при загрузке системы:

Остановка Nginx

Остановка Nginx быстро завершает работу всех рабочих процессов Nginx, даже если есть открытые соединения.

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

Перезапуск Nginx

Параметр restart — это быстрый способ остановить и запустить сервер Nginx.

Используйте одну из следующих команд для перезапуска Nginx :

Это команда, которую вы, вероятно, будете использовать чаще всего.

Перезагрузка конфигов Nginx

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

Команда reload загружает новую конфигурацию, запускает новые рабочие процессы с новой конфигурацией и корректно завершает работу старых рабочих процессов.

Чтобы перезагрузить Nginx, используйте одну из следующих команд:

Тестирование конфигурации Nginx

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

Вывод будет выглядеть так:

Если есть какие-либо ошибки, команда печатает подробное сообщение.

Просмотр статуса Nginx

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

Вывод будет выглядеть примерно так:

Проверка версии Nginx

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

Вы можете проверить свою версию Nginx, запустив:

-V — Опция отображает версию Nginx вместе с возможностью конфигурирования.

Вывод

В этом руководстве мы показали вам некоторые из наиболее важных команд Nginx. Если вы хотите узнать больше о параметрах командной строки Nginx, посетите документацию Nginx .

Читайте также:  What is bootstrapping in linux

Источник

Как правильно остановить nginx?

Такой вопрос: У меня есть несколько nginx 1.2.3, соединённых последовательно: NG1 -> NG2 -> WEB-APPS.

Схема включения — древовидная: NG2 — N штук. WEB-APPS — N*M штук.

Я хочу перезагрузить часть своих веб приложений прозрачно для пользователей. Как мне правильно сделать?

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

Поймёт ли NG1 то, что часть инстансов NG2 выключена и перебросит ли он новые запросы на работающие инстансы?

Как мне выключить инстанс NG2 так, чтобы существующие запросы не были оборваны? Т.е. новые запросы он обрабатывать не должен, но запросы, которые он уже пробросил он должен держать, пока мои сервера не отдадут весь контент.

Читал документацию, но она мне показалась противоречивой. Например я не понял, достугну ли я цели, если сделаю так?

может с такой сложной схемой имеет смысл посмотреть на haproxy?

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

1) закомментировать в конфиге NG1 одну или несколько NG2

2) kill -HUP // NG1 перечитает свой конфиг и больше не будет обращаться к закомментированным NG2

3) перезапустить WEB-APPs привязанные к неактивным NG2

4) раскомментировать отключенные NG2 в конфге NG1 и опять сделать kill -HUP.

1) закомментировать в конфиге NG1 одну или несколько NG2

и что нжинкс будет делать с текущими соединениями? 503? или корректно отбалансирует на другую ноду?

и что нжинкс будет делать с текущими соединениями?

продолжит их обслуживать, но новые запросы отправляться не будут.

правда, не понятно что будет с теми у кого persistent connection. По-моему, пока все старые клиенты не отвалятся старые процессы не отомрут. А это может быть долго.

Вырубай весь сервер сразу.

закомментировать в конфиге NG1 одну или несколько NG2

Пробовал. Но то ли лыжи не едут, то ли ещё что, но даже после service nginx reload NG1 продолжал перебрасывать соединения на закоментаренные NG2.

Сделал я так: останавливаю NG2 командой: nginx -s quit Жду, пока не завершатся все его инстансы. Похоже (?) из коробки NG1 понимает, что какие-то инстансы NG2 отвалились и не перебрасывает на них запросы. В логах 404 ошибок нет. Перезагружаю всё, что мне нужно. Запускаю NG2.

Источник

Как перезапустить Nginx

Если вы начинающий администратор или только перенесли свой проект на VPS и еще не со всем разобрались, то у вас может возникнуть вопрос как перезапустить Nginx. Это очень популярный веб-сервер, такой же популярный, как и Apache и достаточно часто используется для различных проектов.

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

Читайте также:  Cisco anyconnect mac os profile location

Как перезапустить Nginx

Первое что вам нужно — это получить доступ по ssh к серверу, но если вы уже меняли там какие-либо настройки, то, скорее всего, доступ у вас есть, так что этот момент упустим. Другой момент, это система управления процессами, сейчас большинство, если не все популярные дистрибутивы, используют systemd. Поэтому я буду описывать работу именно с ней. И еще, вам нужен именно VPS, или сервер, на хостинге такое сделать у вас не получится, даже если есть ssh доступ.

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

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

systemctl restart nginx

Если нужно только перечитать конфигурационные файлы выполните:

systemctl reload nginx

Есть еще один путь, можно передать команду перезапуска самому сервису nginx с помощью опции -s:

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

systemctl status nginx

systemctl stop nginx

systemctl start nginx

Перезапуск Nginx с помощью ISPManager

Панель управления VPS ISPManager довольно популярна среди пользователей и если вы используете ее на своем сервере, то можете перезапустить Nginx с помощью нее. Для этого авторизуйтесь в панели, перейдите на вкладку «Система», «Службы», а затем найдите там пункт «Nginx», выделите его и нажмите кнопку «Перезапуск»:

Готово, теперь Nginx перезапущен.

Выводы

В этой небольшой статье мы рассмотрели как перезапустить Nginx на вашем сервере. Если у вас остались вопросы, спрашивайте в комментариях!

Конференция HighLoad в которой рассказывается что нового в Nginx:

Источник

Linux: как перезапустить Nginx на Ubuntu / Centos / Docker

Как часто вы перезапускаете службу ngnix на веб-сервере Linux?

Эта статья в блоге будет посвящено различным путям перезапуска Nginx в системе Linux через командную строку и Nginx, запущенном в контейнере докер.

Я рассмотрел этот момент как на сервере Systemd, так и на системе SysV init / Upstart.

Откройте терминал и войдите в систему с помощью пользователя root / sudo для запуска нижеприведенных команд.

Перезапустить HTTP-сервер Nginx

CentOS 7, Ubuntu 18.04 и Ubuntu16.04 являются systemd операционной системой.

Чтобы перезапустить службу nginx, вам нужно использовать инструмент командной строки systemctl.

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

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

Затем перезапустите nginx

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

Перезапуск Nginx в системе Upstart / SysV init

Если вы используете систему с upstart или системой SysV init. например, Ubuntu 14.04, CentOS 6, вам необходимо управлять службой nginx с помощью service

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

Читайте также:  Console application windows form

Перезапуск Nginx внутри контейнера Docker

Для nginx, запущенного внутри контейнера Docker, рекомендуется перезагрузить конфигурацию вместо перезапуска службы.

Если вы должны перезапустить процесс nginx, рассмотрите возможность перезапуска контейнера с помощью команды:

Где nginx – это имя контейнера nginx.

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

Команда, используемая для проверки синтаксиса конфигурации, – nginx -t

Источник

Как запустить, остановить или перезапустить Nginx

Nginx произносится как «движок x» — это бесплатный высокопроизводительный HTTP-сервер и обратный прокси-сервер с открытым исходным кодом, отвечающий за обработку нагрузки некоторых из крупнейших сайтов в Интернете. Его можно использовать как автономный веб-сервер или как обратный прокси-сервер для Apache и других веб-серверов.

Если вы разработчик или системный администратор, скорее всего, вы имеете дело с Nginx на регулярной основе. Запуск, остановка и перезапуск / перезагрузка — самые распространенные задачи при работе с веб-сервером Nginx.

В этом руководстве объясняется, как запустить, остановить и перезапустить Nginx на серверах Linux.

Подготовка

В инструкциях предполагается, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo .

Большинство текущих дистрибутивов Linux используют SystemD в качестве системы инициализации и диспетчера служб по умолчанию. Старые дистрибутивы основаны на SysVinit и используют сценарии инициализации для управления службами.

И сервисные блоки SystemD, и скрипт SysVinit принимают следующие аргументы для управления сервисом Nginx:

  • start : start службу Nginx.
  • stop : завершает работу службы Nginx.
  • restart : останавливает, а затем запускает службу Nginx.
  • reload : плавно перезапускает службу Nginx. При перезагрузке основной процесс Nginx завершает дочерние процессы, загружает новую конфигурацию и запускает новые дочерние процессы.
  • status : показывает статус услуги.

Команды для управления службой Nginx одинаковы для всех дистрибутивов Linux.

Запуск, остановка и перезапуск Nginx с помощью systemctl

Systemd система и сервис менеджер по последней Ubuntu 18.04 / 16.04 , CentOS 7 / 8 , и Debian 10 / 9 — релизов.

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

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

Выполните команду ниже, чтобы перезагрузить службу Nginx:

Nginx также можно напрямую контролировать с помощью сигналов . Например, чтобы перезагрузить службу, вы можете использовать следующую команду:

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

Выполните следующую команду, чтобы остановить службу Nginx:

Запуск, остановка и перезапуск Nginx с помощью SysVinit

Более старые (EOLed) версии Ubuntu, CentOS и Debian используют сценарии init.d для запуска, остановки и перезапуска демона Nginx.

Перезапустите сервис Nginx:

Запустите сервис Nginx:

Остановите службу Nginx:

Выводы

Мы показали вам, как запускать, останавливать и перезапускать веб-сервер Nginx в системах Linux.

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

Источник

Оцените статью