Благодаря асинхронности, способность обрабатывать миллионы пользователей без замедления работы сервера делает его выбором номер один для развертывания своих систем на многих предприятиях. В этом руководстве показано, как легко установить и настроить веб-серверы Nginx. В руководстве используется Ubuntu 18.04 как версия, потому что это LTS; следовательно, он имеет долгосрочную поддержку, которая требуется в производственной среде. Установить и настроить веб-сервер Nginx относительно просто, но это включает в себя ряд шагов.
Монтаж
Эти инструкции были написаны для Ubuntu 18.04 LTS, и поэтому его не следует использовать в другом варианте Linux, если те же команды не работают и там. Рекомендуется установить Nginx в учетной записи обычного пользователя с разрешением sudo, чтобы снизить риск безопасности. Однако в этой статье не показано, как создать учетную запись пользователя, поскольку это выходит за рамки ее компетенции.
- Перед установкой Nginx обновите информацию о локальном пакете, а затем обновите пакеты с помощью следующих команд. Он обеспечивает получение последней версии Nginx из репозитория (сервера) при использовании команды установки Nginx. Команда dist-upgrade разумно обрабатывает зависимости, чтобы предотвратить проблемы несовместимости между различными пакетами.
- Установите Nginx с помощью следующей команды
- Для установки требуется всего 3 основные команды, затем на сервере устанавливается Nginx. Поскольку в этом руководстве Nginx используется в качестве веб-сервера, индекс.html создается сразу после установки Nginx, и к нему можно получить доступ через внешний IP-адрес сервера.
http: // IP-адрес
- Несмотря на то, что он установлен, важно убедиться, что служба Nginx автоматически запускается самостоятельно, если сервер по какой-либо причине перезагружается. Это можно сделать следующим образом.
- Используйте следующие две команды для настройки разрешений файловой системы. Первая команда назначает имя текущего пользователя, вошедшего в систему, с правами доступа к файлу. Если это root, то это root, если это произвольное имя, то его имя. Второй командой устанавливается разрешение файла. Поскольку разрешение для «всех пользователей» установлено на R, файл может быть прочитан кем угодно, что рекомендуется для общедоступных файлов. W стандарты для разрешения на запись, которое требуется владельцу для внесения изменений в файл, и это удобно, когда файл изменяется с помощью сценария, находясь на сервере, например, на панели управления WordPress.
sudo chmod -R 755 / var / www / example.ком
Конфигурация
Установка Nginx проста, как описано выше, но настройка требует больше усилий, а также зависит от требований и среды сервера. В этом руководстве показано, как настроить веб-сервер nginx для одного домена, как настроить основные параметры, как настроить SSL / TLS, который требуется Google для повышения рейтинга веб-сайта, и, наконец, какие команды используются для настройки запустить сервер Nginx.
- Используйте следующую команду, чтобы открыть файл по умолчанию Nginx через редактор nano. Файл по умолчанию создается автоматически при первой установке Nginx и определяет конфигурацию веб-сервера. Эта конфигурация содержит серверный блок, который выделен для одного доменного имени и обрабатывает запросы к его домену в соответствии с правилами в пределах его границ. Редактор Nano - это просто консольный редактор, который помогает с легкостью открывать текстовые файлы. Настоятельно рекомендуется использовать лучший редактор, такой как Notepad ++, с расширением NppFTP, поскольку он довольно удобен для пользователя по сравнению с консольным текстовым редактором.
Файл конфигурации содержит несколько важных строк, как показано в следующем фрагменте кода.
- Директива Listen указывает номер порта IP-адреса для прослушивания. Для подключения к зашифрованным веб-серверам это 443, а для незашифрованных веб-серверов - 80. Default_server делает его сервером по умолчанию из всех блоков sever, что означает, что этот блок сервера выполняется, если поле заголовка запроса не совпадает с каким-либо из указанных имен серверов. Полезно фиксировать все запросы к серверу независимо от имени хоста (в данном случае имеется в виду домен).
- Server_name указывает имя хоста, обычно имя домена. Рекомендуется использовать как голые, так и www варианты домена, например…
- Директива Root указывает, где находятся веб-страницы на файловом сервере, например Index.html и все другие подпапки веб-сайта. Директива требует только путь к корневой папке веб-сайта, остальное берется относительно этого.
- Директива Index указывает имя индексного файла, то есть файл, который открывается, когда имя хоста вводится в адресной строке веб-браузера.
- Блок местоположения полезен для обработки директив под именем хоста, например google.ru / images, / videos. / Захватывает корневую директиву доменного имени. Директива try_files пытается обслуживать контент (файл, папку) или выдает сообщение о том, что ресурс недоступен. Если необходимо обработать каталог / videos, используйте location / videos.
слушаем 80 default_server;
слушать [::]: 80 default_server;
имя сервера _;
корень / var / www / html /;
индекс индекс.индекс php.html-индекс.htm;
место расположения /
try_files $ uri $ uri / = 404;
- Рекомендуется перезапустить сервер, как только он будет настроен вначале. Перезапуск службы nginx, также перезагрузите файл конфигурации. Если в файл конфигурации было внесено простое изменение, вместо перезапуска будет достаточно перезагрузки, чтобы соединение с сервером не разорвалось.
- В настоящее время важно зашифровать соединение с сайтом, чтобы повысить рейтинг сайта в индексе Google. Шифрование может быть выполнено путем внедрения сертификата SSL / TLS на веб-сервере. На рынке доступно множество сертификатов, как платных, так и бесплатных, но в этом руководстве используется бесплатный сертификат, известный как Let's encrypt. Это бесплатно, но требуется обновлять сертификат один раз в 3 месяца по сравнению с годом в коммерческих сертификатах. Следующая команда добавляет в систему certbot PPA (личный архив пакетов). Эти PPA размещаются на панели запуска.net, а при использовании apt-get они сразу же загружаются в систему.
- Следующая команда загружает и устанавливает версию certbot для nginx. Как упоминалось выше, он загружается с панели запуска.сеть.
- После его установки используйте следующую команду, чтобы включить SSL / TLS для указанного доменного имени и его варианта www. Это должен быть тот же домен, настроенный в вышеупомянутых шагах. Если домен не настроен, убедитесь, что это сделано до этого шага.
-d www.домен.расширение
- Когда SSL / TLS был установлен, как указано выше, перезапустите сервер еще раз, чтобы изменения вступили в силу.
- Также рекомендуется использовать конфигурацию, указанную на следующем веб-сайте, поскольку она настраивает конфигурацию SSL / TLS в соответствии с указанными требованиями. Важные параметры на следующем веб-сайте: современные, промежуточные и старые. Современный вариант делает соединение очень безопасным, но за счет совместимости, и, таким образом, сайт не загружается в старых браузерах. Промежуточный вариант уравновешивает совместимость и безопасность, поэтому рекомендуется для большинства веб-сайтов. Старый тип для устаревших систем. Это не рекомендуется для производственных сайтов, но для предупреждения пользователей, когда они посещают сайт из старых веб-браузеров, таких как Internet Explorer 5.
https: // ssl-config.мозилла.org /
Заключение
Nginx - это прокси-сервер, обратный прокси-сервер и балансировщик нагрузки, и благодаря своей высокой производительности он часто используется на предприятиях для обслуживания своих веб-сервисов. В этом руководстве рассказывается, как легко установить и настроить сервер Nginx в первый раз на сервере Ubuntu. Установка и настройка не так сложны, поскольку все команды абстрагируют сложные задачи под слоем. В общем, нет причин не использовать Nginx, если только бизнес не ожидает другого требования, которое Nginx не предлагает.