One place for hosting & domains

      [Краткое руководство] по установке Nginx в Ubuntu 18.04


      Введение

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

      В этом обучающем модуле мы расскажем, как установить Nginx на сервере Ubuntu 18.04. Более подробную версию этого обучающего модуля можно найти в документе Установка Nginx в Ubuntu 18.04.

      Предварительные требования

      Для прохождения этого обучающего модуля вам потребуется следующее:

      • Один сервер Ubuntu 18.04 и обычный пользователь без прав root с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр, следуя указаниям руководства Начальная настройка сервера Ubuntu 18.04.

      Создав учетную запись, войдите в систему как пользователь без привилегий root.

      Шаг 1 – Установка Nginx

      Поскольку Nginx доступен в хранилищах Ubuntu по умолчанию, вы можете установить его с помощью системы пакетов apt.

      Обновите локальный индекс пакетов:

      Установите Nginx:

      Шаг 2 — Настройка брандмауэра

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

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

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

      • sudo ufw allow 'Nginx HTTP'

      Проверьте изменения:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Шаг 3 – Проверка веб-сервера

      Используйте команду systemd init system, чтобы проверить работу службы:

      Output

      ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

      Откройте страницу Nginx по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:

      http://your_server_ip
      

      Вы увидите начальную страницу Nginx по умолчанию:

      Страница Nginx по умолчанию

      Шаг 4 — Настройка блоков сервера (рекомендуется)

      При использовании веб-сервера Nginx вы можете использовать блоки сервера (аналогичные виртуальным хостам в Apache) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен example.com, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени с помощью DigitalOcean, пройдите наш обучающий модуль Введение в DigitalOcean DNS.

      Создайте каталог для example.com, используя опцию -p для создания необходимых родительских каталогов:

      • sudo mkdir -p /var/www/example.com/html

      Назначьте владельца каталога:

      • sudo chown -R $USER:$USER /var/www/example.com/html

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

      • sudo chmod -R 755 /var/www/example.com

      Создайте в качестве примера страницу index.html, используя nano или свой любимый редактор:

      • nano /var/www/example.com/html/index.html

      Добавьте в страницу следующий образец кода HTML:

      /var/www/example.com/html/index.html

      <html>
          <head>
              <title>Welcome to Example.com!</title>
          </head>
          <body>
              <h1>Success!  The example.com server block is working!</h1>
          </body>
      </html>
      

      Сохраните файл и закройте его после завершения.

      Создайте новый серверный блок в /etc/nginx/sites-available/example.com:

      • sudo nano /etc/nginx/sites-available/example.com

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

      /etc/nginx/sites-available/example.com

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/example.com/html;
              index index.html index.htm index.nginx-debian.html;
      
              server_name example.com www.example.com;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      }
      

      Сохраните файл и закройте его после завершения.

      Активируйте файл, создав ссылку от него в каталог sites-enabled:

      • sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

      Теперь два серверных блока активированы и настроены отвечать на запросы на базе директив listen и server_name:

      • example.com: будет отвечать на запросы example.com и www.example.com.
      • default: будет отвечать на любые запросы порта 80, не соответствующие двум другим блокам.

      Чтобы избежать возможной проблемы с хэшированием памяти при добавлении дополнительных имен серверов, необходимо изменить одно значение в файле /etc/nginx/nginx.conf. Откройте файл:

      • sudo nano /etc/nginx/nginx.conf

      Найдите директиву server_names_hash_bucket_size и удалите символ #, чтобы убрать режим комментариев для строки:

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Проверьте ошибки синтаксиса:

      Перезапустите Nginx, чтобы активировать изменения:

      • sudo systemctl restart nginx

      Теперь Nginx должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://example.com, после чего должны увидеть примерно следующее:

      Первый блок сервера Nginx

      Заключение

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

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



      Source link


      Leave a Comment