Как проверить установлен ли nginx
Перейти к содержимому

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

  • автор:

NGINX

NGINX — программное обеспечение, написанное для UNIX-систем. Основное назначение — самостоятельный HTTP-сервер, или, как его используют чаще, фронтенд для высоконагруженных проектов. Возможно использование NGINX как почтового SMTP/IMAP/POP3-сервера, а также обратного TCP прокси-сервера.

Как используется и работает nginx

NGINX является широко используемым продуктом в мире IT, по популярности уступая лишь Apache.
Как правило, его используют либо как самостоятельный HTTP-сервер, используя в бекенде PHP-FPM, либо в связке с Apache, где NGINX используется во фронтэнде как кеширующий сервер, принимая на себя основную нагрузку, отдавая статику из кеша, обрабатывая и отфильтровывая входящие запросы от клиента и отправляя их дальше к Apache. Apache работает в бекэнде, работая уже с динамической составляющей проекта, собирая страницу для передачи её в кеш NGINX и запрашивающему её клиенту. Это если в общих чертах, чтобы понимать суть работы, так-то внутри всё сложнее.

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

Пишете в консоль SSH следующую команду, она покажет версию NGINX

Если видите что-то навроде
nginx version: nginx/1.10.3
Значит, всё в порядке, установлен NGINX версии 1.10.3 . Если нет, установим его.

Как установить NGINX

Если вы сидите не под root , предваряйте команды apt-get префиксом sudo , например sudo apt-get install nginx

  1. Обновляем порты (не обязательно)
  2. Установка NGINX
  3. Проверим, установлен ли NGINX

Команда должна показать версию сервера, что-то подобное:
nginx version: nginx/1.10.3

Где расположен nginx

Во FreeBSD NGINX располагается в /usr/local/etc/nginx .
В Ubuntu, Debian NGINX располагается тут: /etc/nginx . В ней располагается конфигурационный файл nginx.conf — основной конфигурационный файл nginx.
Чтобы добраться до него, выполняем команду в консоли

По умолчанию, файлы конфигураций конкретных сайтов располагаются в /etc/nginx/sites-enabled/

или в /etc/nginx/vhosts/

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

Идём изучать мануалы на официальный сайт.
Пример рабочей конфигурации NGINX в роли кеширующего проксирующего сервера с Apache в бекенде

Строка include /etc/nginx/vhosts/*; указывает на поддиректорию vhosts , в которой содержатся файлы конфигураций конкретно под каждый домен.
Пример того, что может содержаться там — example.com.conf
Ниже пример для Apache в бекенде:

А вот вариант для PHP-FPM:

NGINX WordPress Multisite

Ниже конфигурация под WordPress Multisite с сайтами в поддиректориях:

Как заблокировать по IP в NGINX

Блокировать можно с помощью директив allow и deny.

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

Приведу пример конфигурации, как можно закрыть доступ к панели администратора WordPress по IP:

Ещё один неплохой вариант. Правда, по умолчанию определяются только статичные IP. А чтобы разрешить подсеть, придётся использовать дополнительный модуль GEO:

Как в NGINX указать размер и время

  • Байты указываются без суффикса. Пример:
  • Килобайты указываются с суффиксом k или K . Пример:
  • Мегабайты указываются с суффиксом m или M . Пример:
  • Гигабайты указываются с суффиксом g или G . Пример:

Время задаётся в следующих суффиксах:

  • ms — миллисекунды
  • s — секунды
  • m — минуты
  • h — часы
  • d — дни
  • w — недели
  • M — месяцы, 30 дней
  • Y — годы, 365 дней

В одном значении можно комбинировать различные единицы, указывая их в порядке от более к менее значащим, и по желанию отделяя их пробелами. Например, 1h 30m задаёт то же время, что и 90m или 5400s . Значение без суффикса задаёт секунды.

Рекомендуется всегда указывать суффикс

Некоторые интервалы времени можно задать лишь с точностью до секунд.

Настройка отладки в NGINX

В целях отладки настройки NGINX вы можете писать данные в логи, но я советую воспользоваться директивой add_header. С её помощью вы можете выводить различные данные в http headers.
Пример, как можно определить, в каком location обрабатывается правило:

Теперь, если проверить, какие заголовки отдаёт статичный файл, например https://sheensay.ru/wp-content/uploads/2015/06/nginx.png , то вы увидите среди них и наш X-debug-message

Отладочная информация NGINX в заголовках HTTP headers

Отладочная информация NGINX в заголовках HTTP headers

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

Добавление модулей NGINX в Linux (Debian/CentOS/Ubuntu)

Функционал NGINX возможно расширить с помощью модулей. С их списком и возможным функционалом можно ознакомиться на официальном сайте http://nginx.org/ru/docs/. Также, существуют интересные сторонние модули, например, модуль NGINX для защиты от DDoS
Приведу пример установки модуля ngx_headers_more.

Все команды выполняются в консоли, используйте Putty или Far Manager с NetBox/WinSCP. Установка будет происходить под Debian

В результате увидите что-то навроде

Установим дополнительные пакеты.
Если выходит ошибка aptitude: команда не найдена , нужно предварительно установить aptitude:

—add-module=

Эта проблема решается установкой libpcre++-dev :

Эта проблема решается так:

В результате должны увидеть модуль на месте

Основные ошибки nginx и их устранение

502 Bad Gateway

Ошибка означает, что NGINX не может получить ответ от одного из сервисов на сервере. Довольно часто эта ошибка появляется, когда NGINX работает в связке с Apache, Varnish, Memcached или иным сервисом, а также обрабатывает запросы PHP-FPM.
Как правило, проблема возникает из-за отключенного сервиса (в этом случае нужно проверить состояние напарника и при необходимости перезапустить его) либо, если они находятся на разных серверах, проверить пинг между ними, так как, возможно, отсутствует связь между ними.
Также, для PHP-FPM нужно проверить права доступа к сокету.
Для этого убедитесь, что в /etc/php-fpm.d/www.conf прописаны правильные права

504 Gateway Time-out

Ошибка означает, что nginx долгое время не может получить ответ от какого-то сервиса. Такое происходит, если Apache, с которым NGINX работает в связке, отдаёт ответ слишком медленно.
Проблему можно устранить с помощью увеличения времени таймаута.
При работе в связке NGINX+Apache в конфигурационный файл можно внести изменения:

Тут мы выставили ожидание таймаута в 800 секунд.

Upstream timed out (110: Connection timed out) while reading response header from upstream

Причиной может быть сложная и потому долгая обработка php в работе PHP-FPM.
Здесь тоже можно увеличить время ожидания таймаута

800 секунд на ожидание ответа от бекенда.

Это лишь временные меры, так как при увеличении нагрузки на сайт ошибка снова станет появляться. Устраните узкие места, оптимизируйте работу скриптов php

413 Request Entity Too Large

Ошибка означает, что вы пытались загрузить слишком большой файл. В настройках nginx по умолчанию стоит ограничение в 1Mb.
Для устранения ошибки в nginx.conf нужно найти строку

и заменить значение на нужное. Например, мы увеличим размер загружаемых файлов до 100Mb

Также, можно отключить проверку размера тела ответа полностью значением ноль:

Следует помнить, зачем ввели это ограничение: если любой пользователь может загружать файлы на неподготовленный сайт, можно сравнительно легко провести DDOS-атаку на него, перегружая входной поток большими файлами.

После каждого внесённого изменения в конфигурационный файл необходимо перезагружать nginx

304 Not Modified не устанавливается

Если возникает проблема с правильным отображением ответного заголовка сервера 304 Not Modified , то проблема, скорее всего, в пунктах:

  • В секции server конкретного сайта включен ssi on (Подробнее в документации). По умолчанию, ssi отключен, но некоторые хостеры и ISPManager любят его прописывать в дефолтную конфигурацию сайта включенным. Его нужно обязательно отключить, закомментировав или удалив эту строку; установить в before , то есть на уровне http или конкретного server прописать: if_modified_since before;

Как проверить заголовки сервера NGINX

  • Консоли разработчика браузера ( F12 ) в разделе Network (Cеть) (не забываем перезагружать страницу);
  • Или сторонних сервисов, например last-modified.com.

Client intended to send too large body

Решается с помощью увеличения параметра client_max_body_size

Как перезагрузить nginx

Для перезагрузки NGINX используйте restart или reload .
Команда в консоли:

Эти команды остановят и перезапустят сервер NGINX.

Перезагрузить конфигурационный файл без перезагрузки NGINX можно так:

Проверить правильность конфигурации можно командой

В чём разница между reload и restart

Как происходит перезагрузка в NGINX:

  1. Команда посылается серверу
  2. Сервер анализирует конфигурационный файл
  3. Если конфигурация не содержит ошибок, новые процессы открываются с новой конфигурацией сервера, а старые плавно прекращают свою работу
  4. Если конфигурация содержит ошибки, то при использовании
    1. restart процесс перезагрузки сервера прерывается, сервер не запускается
    2. reload сервер откатывается назад к старой конфигурации, работа продолжается

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

    Ещё лучше, если вы будете предварительно проверять правильность конфигурации командой nginx -t , например:

    Как вместо 404 ошибки делать 301 редирект на главную

    Как в NGINX сделать редирект на мобильную версию сайта

    Данный код вставляется на уровне server в самое начало файла (не обязательно в самое начало, но главное, чтобы перед определением обработчика скриптов php, иначе редирект может не сработать).

    Как в NGINX включить поддержку WebP

    Чтобы включить поддержку WebP, нужно прописать в секции http :

    Теперь, в секции server можно использовать:

    Полезные материалы и ссылки

    Настройка NGINX под WP Super Cache

    Конвертер правил .htaccess (Apache) в NGINX

    Весьма полезный сервис, который поможет cконвертировать правила из .htaccess в NGINX . Результат, возможно, придётся донастроить вручную, но, в целом, он весьма удобен в применении.
    Вот как описывают сервис сами авторы:

    Сервис предназначен для перевода конфигурационного файла Apache .htaccess в инструкции конфигурационного файла nginx.

    В первую очередь, сервис задумывался как переводчик инструкций mod_rewrite с htaccess на nginx. Однако, он позволяет переводить другие инструкции, которые можно и резонно перевести из Apache в nginx.

    Инструкции, не относящиеся к настройке сервера (например, php_value), игнорируются.

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

    Результат перевода следует обязательно проверить вручную, а затем разместить в секции server <> конфигурационного файла nginx.

    Замечания и предложения по улучшению ждем, как обычно, на [email protected] 😉

    How To Check Nginx Linux?

    Nginx is a popular open-source web server that is used by millions of websites. It’s easy to check if Nginx is working correctly, but there are a few things you need to know first. ..

    Before installing nginx, you’ll need to set up a repository to store nginx packages. Installing nginx from the repository will install the current stable version of the server. You can also install a specific version of Nginx from a third-party repository. To find a third-party repository, add it to your Ubuntu Linux installation. Search for the appropriate version and add it to your system.

    Another way to test the uptime of an Nginx server is to force a full restart. This command will kill any worker processes associated with the Nginx service. This will result in a short uptime. If you’re unsure, you can use the next command instead. If you’re using systemd, you can also use the next command instead. But make sure you’re using chroot. The chroot jail should be created before you start the Nginx service.

    How Do I Know If Nginx is Installed Linux?#

    To check if Nginx is installed on your Linux system, you can run the command ps -ef nginx. The output of this command will be a list of all processes running in the web server. If any are not running, you can kill them. Otherwise, you can check if Nginx is installed by running a few commands.

    How Do I Know If Nginx is Installed Linux?How Do I Find Nginx Version in Linux?Is Nginx on Linux?What is Nginx Command?How Do I Check My Nginx Status?How Do I Find My Nginx Version?How Do I Start Nginx on Linux?

    Nginx is an open source web server (pronounced “engine-X”) that can be used as a reverse proxy, HTTP cache, or load balancer. It is widely used by many high-profile companies and is free to install on Linux. Nginx’s tutorial will show you how to install it and set up a basic website. If you want to install Nginx on Linux but aren’t sure what it is, check out this tutorial!

    How Do I Find Nginx Version in Linux?#

    In order to find out the version of your Nginx web server, you can run the following command in Linux. This command works in both windows and linux. Enter a capital V instead of a lowercase v to output more detailed information. Alternatively, you can also lookup the version using the folder name. Regardless of the platform you use, this command will give you the latest version of Nginx.

    The command to install Nginx is quite simple. It is the same as sudo apt install nginx. This will install the latest stable version of Nginx, so there’s no need to check the version manually. Alternatively, you can add a third party repository and search for a specific version of Nginx there. This command will be available in all modern Linux distributions, and should work for you too.

    You can also use the public IP address to access the web server. This can be obtained by running a command in the terminal. Copy the address and paste it into the URL bar to view the default Nginx page. You can also use a fully qualified domain name to access the Nginx web server. The default document root is /var/www/html, but you can add more if necessary.

    Is Nginx on Linux?#

    Nginx is a server software application that is available for Linux. This web server uses symbolic links to manage server blocks. They act like disk shortcuts. You can delete them or leave them in the sites-enabled directory. By default, Nginx runs on port 80, so all requests will be sent to this server. However, if you’re having trouble, you can reload the Nginx service using the reload command.

    Despite its open source nature, Nginx is an excellent choice for web servers that need high performance. It is highly configurable, lightweight, and stable. It can also act as a reverse proxy for other web servers. Nginx runs as a service on Linux and requires no special configuration. Installation instructions for Nginx on Linux can be found in the following articles. After installing Nginx, you can set up your basic site.

    Installing Nginx is straightforward, and it can be installed on most popular operating systems, including Windows. Nginx is a free application and is recommended for Linux servers, though Windows users may find it less than ideal. It is lightweight, so it scales easily, even on low-end hardware. Nginx also excels at serving static content quickly, as well as passing dynamic requests to other software.

    What is Nginx Command?#

    There are several ways to configure Nginx. The -h, -c,…, and -p options allow you to specify additional parameters. You can also use the -q option to suppress non-error messages when testing the configuration. This will cause nginx workers to restart, reload the configuration, and gracefully shutdown old worker processes. The -v option displays the version of Nginx.

    The ‘nginx’ command is a shell command that runs a web server. It is a system service. Using this command, you can restart it and manage the processes it runs. To restart it, type sudo systemctl restart nginx. Make sure to watch the process ID as this may change over time. You can also type’systemctl status nginx’ to determine whether it is running.

    The’reload’ command forces Nginx to reload its configuration, allowing you to make changes without the server going down. It also gracefully shuts down the old worker processes that process requests. It’s also safer than restarting Nginx, as it reloads the configuration and runs it once. If you’re making a significant change to the Nginx configuration, you can ‘force’ a full restart by typing’reload’.

    How Do I Check My Nginx Status?#

    If you want to see whether your Nginx web server is up and running, you must be able to locate it on your system. Normally, Nginx runs on port 80. You can use nginx status to see if your server is running and if the configuration syntax is correct. To check your NGINX status on Linux, you must first edit your site construction file and then add the code to the machine directive. You can then browse to the NGINX status page at localhost or nginx_status.com. You can also use the ls command to display the list of running services and solutions.

    To check the status of your Nginx web server, you can use the /nginx_status command to view detailed statistics. You can also run nginx -v to view the expanded status module, which is available in the commercially supported NGINX Plus. You can also use the log module to log response codes in the access log. Nginx binary file paths should be in the PATH variable on your system. You can also run ps -ef grep nginx to see the running Nginx process.

    How Do I Find My Nginx Version?#

    If you are using a Linux operating system, you can easily find your Nginx Linux version. To find this out, use the command line. You can type “nginx version” on the command line in windows and linux. You will see the exact version number and any configure parameters. You can then use this information to make your Nginx settings more optimized. Here are the steps you should follow to find your Nginx Linux version.

    Once you have entered the command, you can view the complete configuration file. If it doesn’t show up in the console, you can run it via systemctl. Alternatively, you can open the command line help by running /usr/local/nginx/sbin/nginx. This command displays the full configure options for your Nginx Linux installation. Then, use the -V option to see the modules used by your Nginx installation.

    If you don’t have the command line, you can use the Interactive Terminal to execute commands. You can log into your DigitalOcean account with a non-root user and then run the command. Nginx is available in the default repositories of Ubuntu. Using the apt packaging system, you can install it from there. This is the simplest way to find your Nginx Linux version.

    How Do I Start Nginx on Linux?#

    In order to start and stop Nginx on Linux, you should first run systemctl. You can find the version of Nginx in the output of this command. It is important to note that some older versions of Linux may require you to use SysVinit, which will require you to enter the service keyword to start and stop the system. You can also use this command to check the configuration of Nginx.

    To start Nginx, you must run it as a different user. The PHP-FPM socket file must be accessible by a different user than you. You can also use the TCP socket if you prefer. Then, reload the configuration files to make them apply. If you made any changes to the configuration files and did not restart, you should try restarting the server. This will ensure that Nginx loads all the necessary services.

    If the web server crashes or hangs, you can force a full restart. This will close all worker processes and shut down the entire service. However, this option is only safe if you have made significant changes to the configuration of Nginx. You should reload Nginx to avoid syntax errors. However, restarting Nginx is not recommended because it shuts down all the other processes and services related to it.

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

    Напишете в консоле SSH следующую команду, она покажет версию NGINX

    Если NGINX установлен, то будет выведена его версия:

    Если нет, нужно установить NGINX .

    Ещё по теме
    О сайте

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

    Самый простой способ сделать расчеты в сети — это использовать подходящие онлайн инструменты. Воспользуйтесь поиском, чтобы найти подходящий инструмент на нашем сайте.

    calcsbox.com

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

    Как узнать установлен ли NGINX на сервере

    Чтобы узнать какой веб-сервер установлен у вашем хостинге, нужно посмотреть заголовки HTTP-запроса. Это можно сделать с помощью различных сервисов.

    Bertal

    Сервис bertal.ru предназначен для просмотра HTTP-заголовков любых веб-файлов (.html, .php, .asp, .gif, .jpg, .css и др.), кроме того, имеется возможность просматривать html-код интернет-страниц, размер которых не превышает 4 МБ. Соединение с удаленными серверами возможно по протоколам http, https и ftp.

    Для проверки http-заголовка введите данные в необходимые поля формы (при необходимости воспользуйтесь расширенным режимом). Если ввести только URL сайта, то результат будет отображаться примерно как на скриншоте ниже.

    Bertal.ru: просмотр http-заголовков

    Запрос данных происходит методом:

    • HEAD — если запрашивается только HTTP-заголовок (функция «Показать HTML-код страницы» не используется)
    • GET — если запрашивается HTTP-заголовок и тело ответа, при этом поле «POST» не заполнено (используется функция «Показать HTML-код страницы»)
    • POST — если запрашивается HTTP-заголовок и тело ответа, при этом заполнено поле «POST» (используется функция «Показать HTML-код страницы» и заполнено поле «POST»)

    DomainTools

    Есть еще очень крутой сервис DomainTools whois.domaintools.com

    Разумеется, существует много альтернативных инструментов. Здесь показан как пример решения данного вопроса.

    Ну, допустим вы хотите самостоятельно установить SSL-сертификат на свой виртуальный сервер. Вы же должны точно знать какую инструкцию искать, так как команды очевидно будут разными. Зачем задавать подобные вопросы саппорту, если это можно узнать самому?

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

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