Установка и настройка Nginx на Ubuntu

Как установить Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 16.04/18.04

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

В REG.RU вы можете заказать облачный сервер с установленным шаблоном LEMP на базе операционной системы Ubuntu 16.04. В данной статье описана ручная установка LEMP на Ubuntu 16.04/18.04.

Сравнение серверов Apache и Nginx

  • Разрабатывается с 1995 года, огромное количество пользователей, многочисленные модули, предназначенные для расширения его функциональности.
  • Медленная работа веб-сервера из-за поточно-ориентированного подхода при большой нагрузке. Необходимость создавать новые процессы и увеличивать объём потребляемой памяти.
  • Необходимость устанавливать ограничения по потребляемым ресурсам. При достижении ограничений новые соединения будут отклонены.
  • Веб-сервер с открытым исходным кодом, написанный как аналог Apache для решения проблем с производительностью и масштабируемостью. а-
  • Механизм, управляемый событиями, асинхронный и неблокирующий, не создаёт новые процессы для каждого веб-запроса.

1 этап. Подготовка сервера

Все действия по установке производятся на сервере через подключение по SSH.

Создание пользователя

Все действия по установке LEMP рекомендуем выполнять не через пользователя root. Рекомендуем создать пользователя с sudo-правами. Так вы дополнительно обезопасите свой сервис и избежите случайных ошибок, которые могут сломать вашу операционную систему.

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

Где UserName — имя нового пользователя.

Система попросит ввести пароль для нового пользователя и дополнительную информацию:

Теперь установите права доступа, чтобы новый пользователь мог использовать команду sudo. Для этого выполните команду:

Где UserName — имя созданного ранее пользователя.

Готово. Новый пользователь создан. Завершите SSH-сеанс под root и подключитесь к серверу под новым пользователем.

Обновление операционной системы

Прежде чем установить на Ubuntu LEMP, нужно обновить операционную систему до актуального состояния с помощью команды:

2 этап. Установка Nginx

Для установки Nginx введите команду:

На этом установка закончена. В Ubuntu Nginx настроен на запуск сразу после установки.

Настройка Nginx

Для корректной работы Nginx необходимо настроить firewall, открыть порты для подключения к серверу.

Чтобы открыть доступ для подключения к серверу по HTTPS, выполните команды:

Если вы планируете использовать SSL-сертификат, для подключения по HTTPS выполните команду:

При переходе по IP-адресу вашего сервера откроется страница Nginx:

Готово. Установка Nginx завершена.

3 этап. Установка MySQL

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

В процессе установки вам будет предложено ввести пароль root-пользователя (пароль администратора) для MySQL:

Работа с базой данных

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

После установки MySQL автоматически будет создан root-пользователь. Работать с базой данных под root небезопасно, поэтому необходимо создать нового пользователя и назначить ему права доступа.

Запустите сервер базы данных с помощью команды:

Система запросит пароль, который был указан при установке MySQL.

Как создать пользователя

Создайте пользователя с помощью команды:

Замените значения внутри кавычек:

  • вместо user-name укажите логин пользователя базы данных;
  • вместо password укажите пароль нового пользователя.

Назначьте все права доступа для созданного пользователя:

Не забудьте изменить user-name на логин, который был указан при создании пользователя.

Чтобы изменения вступили в силу, введите команду:

Как создать базу данных

Для создания базы данных введите команду:

Где BaseName — это название базы данных.

Готово. Теперь вы можете удалённо подключиться к базе данных или привязать её к вашему проекту. Чтобы завершить работу с MySQL, нажмите Ctrl + D.

4 этап. Установка PHP

Для установки PHP введите команду:

Настройка PHP

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

Для Ubuntu 16.04

Для Ubuntu 18.04

Найдите в файле параметр cgi.fix_pathinfo , раскомментируйте его, убрав точку с запятой перед ним и установите значение «0». В редакторе nano вы можете воспользоваться поиском по файлу клавишей F6.

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

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

Перезапустите PHP командой:

Для Ubuntu 16.04

Для Ubuntu 18.04

5 этап. Настройка Nginx и связь с PHP

Далее необходимо настроить Nginx для использования обработчика PHP и отображения динамического контента.

Если вы настраивали виртуальные хосты на Apache, то логика примерно одинаковая, только вместо VirtualHost будут блоки server .

Откройте дефолтный файл конфигурации Nginx командой:

В файле вы увидите блок server с примерным содержанием:

В данный файл внесите следующие изменения:

  • В строке, где указана директива index добавьте обработку индексного файла index.php .
  • В директиве server_name вы можете указать имя своего домена (если он привязан к серверу) или IP-адрес сервера.
  • Раскомментируйте блок location

.php$ и строки, которые входят в него, кроме fastcgi_pass 127.0.0.1:9000; . Данный блок отвечает за обработку PHP-запросов.
Раскомментируйте блок location

/.ht и строку внутри, он отвечает за работу с файлами .htaccess.

Сохраните изменения и закройте файл. Результат:

Чтобы проверить файл на наличие ошибок, выполните команду:

Если система выдала сообщение о наличии ошибок, исправьте их перед тем, как следовать инструкции дальше.

Затем перезагрузите Nginx командой:

Готово. Nginx и связь с PHP настроена. Далее вы можете проверить корректность работы сервера.

Проверка настроек

Для проверки работы PHP введите команду:

Затем перейдите по адресу 123.123.123.123/info.php (где 123.123.123.123 — IP-адрес вашего сервера) или введите домен, который указали на этапе «Настройка Nginx и связь с PHP».

Откроется страница с информацией о настройках веб-сервера PHP:

Важно! После проверки обязательно удалите этот файл, иначе любой пользователь сможет получить доступ к конфиденциальной информации о сервере.

Готово. На этом установка и настройка LEMP Ubuntu завершена.

Как установить nginx, MySQL, PHP (LEMP) в Ubuntu

В этом посте мы разберем процесс установки сервера на основе Nginx на Ubuntu

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

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

  • Linux — операционная система Linux;
  • Nginx(читается EnginX) — веб-сервер;
  • MariaDB / MySQL — СУБД;
  • PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

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

Итак, предполагается что в качестве Linux-дистрибутива у нас установлен Ubuntu 14.04, приступаем к работе:

Шаг первый — установка веб-сервера Nginx

Для установки всего комплекса ПО мы будем использовать репозитории самого Ubuntu и стандартный менеджер пакетов apt

Откроем консоль в Ubuntu и установим Nginx, предварительно обновив источники пакетов:

Теперь сервер Nginx установлен.

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

Если это ваш локальный компьютер то достаточно набрать http://localhost

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

Старт и остановка сервера осуществляется командами:

Так как у меня первоначально стоял Apache2, пришлось сначала остановить его и затем запустить Nginx

Шаг второй — устанавливаем базу данных MySQL

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

Сделать это достаточно просто, открываем консоль и вбиваем:

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

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

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

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

Далее, вам будет предложено изменить его. Если в этом нет необходимости, введите «N» и нажмите «ENTER». После этого вам будет предложено удалить некоторых тестовых пользователей и базы данных. Вы должны просто нажимать «ENTER» при появлении вопросов, чтобы удалить опасные настройки по умолчанию.

После того, как сценарий завершиться, MySQL готов к использованию.

Шаг третий — установка PHP

После установки сервера Nginx и MySQL нам необходимо связующее звено — серверный язык/ который будет отрабатывать динамические запросы. Поскольку Nginx не содержит встроенной обработки PHP как и некоторые другие веб-серверы, нам нужно установить php5-fpm (Менеджер процессов FastCGI). Благодаря ему Nginx сможет обрабатывать PHP запросы.

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

Давайте произведем установку, набрав в консоли:

Повышаем безопасность PHP-FPM

Для повышения безопасности работы с PHP нам надо произвести донастройку. Отроем на редактирование файл:

после чего, найдем строчку содержащую «cgi.fix_pathinfo», которая по-умолчанию выглядит так:

раскомментируем ее и изменим значение, должно получиться так:

Сохраните измененный файл. Это призвано устранить опасность неправильно трактования (и возникающей уязвимости) запросов вида /image.gif/foo.php

Шаг четвертый — настройка работы NGINX с PHP

Теперь у нас есть все составляющие сервера. Нам необходимо лишь связать NGINX и PHP для того чтоб он мог отрабатывать динамический контент. Сделаем настройку так называемых серверных блоков(то же самое что виртуальные хосты у Apache)

Без комментов этот блок смотрится примерно так:

В него нужно внести небольшие изменения.

Во-первых, нужно внести index.php как первое значение директивы index, чтобы индексные файлы PHP обслуживались при запросе каталога.

На месте директивы server_name, надо указать доменное имя или общедоступный IP сервера.

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

Также нужно будет раскомментировать часть другого раздела и добавить директиву try_files, чтобы убедиться, что Nginx не передает подозрительные запросы на процессор PHP.

Должно получиться как то так:

Вот и все — мы настроили сервер на основе NGINX для нашей Ubuntu 14.04.

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

Установка LEMP стека (Linux, Nginx, MySQL, PHP) на Ubuntu 16.04

В статье рассмотрен процесс настройки LEMP-стека на VPS под управлением операционной системы Ubuntu 16.04.

Что такое LЕMP

LEMP — это аналог популярного стека LAMP, используемого для разработки и развертывания веб-приложений. Традиционно LAMP состоит из Linux, Apache, MySQL и PHP. Благодаря своей модульной природе компоненты легко могут быть заменены. В LEMP Apache заменяется легким, но мощным Nginx, который может обеспечить более предсказуемую производительность при высоких нагрузках.

Apache vs Nginx

  • Разрабатывается с 1995 года, к нынешнему моменту имеет много пользователей, существует большое количество модулей (в основном с открытым исходным кодом), написанных для расширения его функциональности;
  • Процессы или поточно-ориентированный подход замедляют работу веб-сервера при большой нагрузке, необходимо создавать новые процессы и потреблять больше ОЗУ, а также создавать новые потоки, которые должны конкурировать за ресурсы ЦП и ОЗУ;
  • Должен быть установлен предел для обеспечения того, чтобы ресурсы не перегружались, когда предел достигнут, дополнительные соединения будут отклонены.
  • Веб-сервер с открытым исходным кодом, написанный для решения проблем производительности и масштабируемости, связанных с Apache;
  • Механизм nginx, управляемый событиями, асинхронный и неблокирующий, не создает новые процессы для каждого веб-запроса;

Установка Nginx

Чтобы поставить Nginx для LEMP вам необходимо подключиться к VPS с ОС Ubuntu и исполнить следующие команды:

sudo apt-get update
sudo apt-get install nginx

Чтобы проверить установку сервера nginx, перейдите в любом браузере по следующей ссылке, указав IP-адрес вашего VDS:

http:// /
Например: http://5.101.77.24/

Примечание: если у вас не получается подключиться, проверьте настройки FireWall, веб-сервер Nginx по умолчанию работает на порту 80, чтобы добавить правило выполните следующую пару команд:

iptables -A INPUT -p tcp —dport 80 -j ACCEPT
iptables-save

Настройка хостов Nginx в Ubuntu

Всем привет! Данное руководство покажет, как выполняется настройка хостов Nginx на сервере Ubuntu 16.04.

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

Требования

  • Не-root пользователь с доступом sudo
  • Предварительно установленный веб-сервер Nginx. Инструкции по установке стека LEMP в Ubuntu можно найти здесь.

Кроме того, для выполнения предложенных в руководстве примеров нужно иметь два доменных имени; в руководстве используются условные домены example.com и test.com. Не забудьте заменить их своими доменными именами.

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

1. Каталоги Document Root

По умолчанию в Ubuntu 16.04 включен один стандартный виртуальный хост Nginx, который обслуживает документы из каталога /var/www/html.

Для обслуживания нескольких сайтов нужно создать дополнительные каталоги. Каталог /var/www/html будет использоваться в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует ни одному из других сайтов.

Создайте структуру каталогов в /var/www для каждого отдельного сайта. Весть текущий контент нужно поместить в каталог html. Используйте следующую команду; флаг –p создаст все необходимые родительские каталоги.

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

Примечание: В зависимости от требований сервера вам может потребоваться повторно настроить права доступа или права собственности на папки, чтобы разрешить доступ к пользователю www-data. В этом, как правило, часто нуждаются динамические сайты. Конечно, привилегии доступа полностью зависят от конфигурации сервера.

Используйте переменную окружения $USER, чтобы задать текущего пользователя. Это позволит создавать файлы в этих каталогах.

Теперь права на эти каталоги установлены верно, если ранее значение umask не было изменено. Это можно проверить при помощи команды:

2. Создание страниц для сайтов

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

Создайте страницу index.html для первого сайта.

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

Сохраните и закройте файл.

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

Откройте этот файл в текстовом редакторе:

Откорректируйте данные, указав информацию о втором сайте:

Сохраните и закройте файл.
Теперь стандартные страницы сайтов готовы.

3. Создание виртуальных хостов

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

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

Блок server для первого сайта

Итак, скопируйте стандартный файл, чтобы создать первый блок server.

Откройте новый файл в текстовом редакторе:

Не учитывая закомментированных строк, этот файл выглядит так:

Сначала нужно разобраться с директивами listen. Спецификация default_server может быть действительна только для одного виртуального хоста. Она указывает, какой из виртуальных хостов должен обслуживать запрос, если запрашиваемый server_name не совпадает ни с одним из существующих виртуальных хостов.

Добавьте опцию default_server в директиву listen одного из своих сайтов. Также можно оставить эту опцию в файле стандартного виртуального хоста, который будет обслуживать каталог /var/www/html, если запрашиваемый хост не может быть найден.

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

Примечание: Чтобы убедиться, что опция default_server включена только в одном файле виртуального хоста, введите:

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

Далее нужно указать каталог document root, отредактировав директиву root.

Затем нужно отредактировать server_name, указав доменное имя (в данном случае – домен первого сайта). Также можно добавить несколько алиасов (например, www.example.com). В результате получится:

Базовая настройка виртуального хоста завершена.

Блок server для второго сайта

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

Откройте новый файл с привилегиями root:

Обратите внимание на директиву listen. Если опция default_server была включена в предыдущий файл, удалите её из этого файла. Также нужно откорректировать значение директивы root (укажите document root второго сайта) и server_name (укажите доменное имя и все алиасы).

В результате файл будет выглядеть так:

Сохраните и закройте файл.

4. Включение виртуальных хостов

Теперь виртуальные хосты готовы, но их нужно активировать.

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

Теперь эти файлы в каталоге sites-enabled. На данный момент у вас есть три виртуальных блока, которые смогут отвечать на запросы согласно директивам listen и server_name.

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

Чтобы избежать потенциальных проблем с памятью, которые могут возникнуть из-за дополнительных имён сервера, отредактируйте файл /etc/nginx/nginx.conf:

Найдите директиву server_names_hash_bucket_size и раскомментируйте её:

Сохраните и закройте файл.

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

Если ошибок нет, перезапустите Nginx, чтобы обновить настройки:

Теперь Nginx обслуживает два домена.

5. Настройка локальных хостов (опционально)

Если вместо настоящих доменных имён вы использовали фиктивные имена, вы можете испытать новые виртуальные хосты, не подключаясь при этом к доменному имени. Для этого нужно настроить на компьютере локальные хосты.

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

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

В системах Mac или Linux войдите как root-пользователь (su) и откройте файл hosts:

При использовании Windows обратитесь к сайту Microsoft.

На данном этапе понадобится внешний IP-адрес и домены, которые нужно направить на сервер. Допустим, внешний IP-адрес сервера 111.111.111.111; в таком случае строки будут выглядеть так:

Это будет перехватывать запросы к example.com и test.com и передавать их на сервер.

Сохраните и закройте файл.

6. Тестирование

Теперь нужно протестировать работу виртуальных хостов. Для этого посетите домены в браузере:

На экране появится сообщение:

Success! The example.com server block is working!

Посетите второй домен:

На экране должно появиться сообщение:

Success! The test.com server block is working!

Если веб-сервер ответил на запросы, значит, всё работает должным образом и настройка хостов в nginx завершена.

Если файл hosts на локальном компьютере был отредактирован, на этом этапе нужно удалить добавленные в него строки.

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

Установка и базовая настройка nginx и php-fpm для разработки проектов локально в Ubuntu 16.04

Здравствуй, уважаемый пользователь Хабрахабра. Мое повествование будет о том, как подготовить почву для локальной веб-разработки проектов в операционной системе Ubuntu 16.04.1 LTS.

В данной статье хочется развеять и разъяснить возможные трудности связанные с установкой и настройкой ПО, которое требуется для современной веб-разработки, с которыми возможно сталкиваются начинающие разработчики и не только.

Технологии которые будут использованы в статье: nginx, php-fpm.

Перед началом повествования, хочу отметить, что я проделывал все эти действия на «голой» системе.
Я буду работать с пакетным менеджером aptitude. Так же рекомендую обновить индекс пакетов и сами пакеты перед установкой ПО. В статье мы проделаем эти действия вместе.

Установка пакетного менеджера aptitude, обновление индекса и пакетов

Обновляем пакеты (команда обновит все пакеты, для которых есть новые версии, если потребуется удаление пакетов, то оно будет выполнено).

Установка и настройка nginx (версия >= 1.10.0)

Проверяем версию, чтобы убедиться что не установили старую, то есть ниже 1.10.0.

Установку и запуск произвели, теперь пойдем в каталог туда куда установлен наш nginx и посмотрим на его структуру. Каталог nginx находится по такому пути:

Посмотреть содержимое директории можно командой ls, с флагами -la будет удобнее просматривать содержимое каталога (в действительности эту команду с конкретными флагами можно описать детальнее и вернее, но у нас сегодня другая тема).

Наc интересуют в данный момент два каталога, которые вы видите на скриншоте. Это каталоги sites-available и sites-enabled.

Давайте перейдем в каталог sites-available и начнем конфигурировать наш виртуальный хост (сайт).

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

В случае установки nginx «с нуля», именно «с нуля», так как при удалении nginx командой
или конфигурационные файлы остаются и если вы вдруг будете не понимать, почему nginx не работает и захотите его переустановить (обычно к такому прибегают начинающие пользователи Linux), то и после переустановки он не будет корректно работать, из-за того что в старых конфигурационных файлах (они не удаляются после удаления командой remove) прописаны неверные настройки, их придется удалить, либо настроить верно, только тогда nginx заработает.

Рекомендую удалять командой sudo apt-get purge nginx или sudo apt purge nginx . Если вы используете пакетный менеджер aptitude, то команда sudo aptitude purge nginx удаляет пакет полностью со всеми зависимостями и конфигурационными файлами.

В этом каталоге будет по умолчанию один файл, с названием default. В нем будет конфигурационный файл с примером, с комментариями, его вы можете изучить на досуге, а можете и вовсе удалить (всегда можно обратиться к официальной документации).

Создадим свой конфигурационный файл, который будет соответствовать названию домена нашего локального сайта (или реального, если уже знаете его название). Это удобно, в будущем, когда будет много конфигурационных файлов, то это избавит вас от путаницы в них. У меня этот файл будет называться project.local.

Посмотрим что получилось.

Теперь откроем его в редакторе, я открою его в nano.

Видим что он у нас пустой. Теперь перейдем к формированию нашего файла. Нужно привести конфигурацию к такому виду, как написано ниже. Я опишу только жизненно важные директивы этого файла, описывать остальное не буду, так как это не является на данный момент важным, все-таки у нас тема базовой настройки. Этих настроек с «горкой» хватит для разработки проектов локально, не только мелких, но и довольно крупных. В следующих статьях опишу отдельно каждые использованные директивы (именно так называются строки, например server_name) этого файла.

Смотрите комментарии прям в конфигурационном файле.

Сохраняем файл. Теперь нам надо проверить, нет ли в нем ошибок. Сделать мы это можем командой.

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

Теперь нам надо активировать конфигурационный файл, в каталоге /etc/nginx/sites-enabled/ необходимо создать симлинк (символическая ссылка). Если у вас nginx был установлен «с нуля», то в этом каталоге есть симлинк на файл default, про который рассказывалось выше, его можно удалить, если он вам не требуется. Переходим в нужный каталог.

Теперь мы в нужном каталоге. Давайте создадим наш симлинк. Для создания используется команда ln с флагом -s, далее мы укажем путь до нашего конфига project.local.

Посмотрим на наш созданный симлинк.

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

Если все ок, едем дальше.

Файл hosts

Этот файл находится по пути /etc/hosts. Наличие в нем записей, позволяет запускать nginx с использованием в качестве домена localhost. В этом файле можно присваивать альтернативные псевдонимы, например для нашего проекта project.local, мы присвоим домен project.local.

Открываем файл в редакторе nano.

У вас в этом файле будет и другая информация, просто игнорируйте ее. Вам всего лишь нужно добавить строку как на моем скриншоте.

Не забываем сохранить файл. На этом настройка файла hosts закончена.

Установка php-fpm (>=7.0)

Проверяем установленную версию, на всякий случай, хотя в Ubuntu 16.04.1 в репозиториях лежит именно 7.0 версия.

Убеждаемся что все ок. Стартуем php-fpm.

Если будете править конфиги, то не забывайте рестартовать демон. Это делает так. Но нам это не потребуется.

На этом установка и настройка php-fpm закончена. Правда, это все. Это не магия, путь до сокета php-fpm у нас уже был прописан в конфигурационном файле. Конечно, вам могут понадобиться какие-либо расширения php для разработки личных проектов, но их вы можете поставить по мере того как они будут требоваться.

Теперь пойдем для в каталог с нашим проектом, у меня он лежит по такому пути.

Поднимемся на каталог выше и сделаем права 777 (то есть мы будем делать полные права каталогу с нашим проектом project.local). В будущем это избавим нас от лишних проблем.

На этом настройка ПО завершена, давайте создадим тестовый файл в нашем рабочем каталоге project.local и убедимся что все работает. Я создам файл index.php с таким содержанием.

Идем в браузер и видим что у нас все прекрасно работает! Интерпретатор php в том числе.

Установка и настройка Nginx на Ubuntu

В этой статье описано как установить Nginx, MariaDB, PHP (стек LEMP) в минимальной версии сервера Ubuntu 18.04 LTS. LEMP является акронимом Linux, Engine, MariaDB/MySQL, PHP/Perl/Python. Я буду использовать следующий тестовый компьютер:

  • Операционная система : Ubuntu 18.04 LTS Server
  • IP-адрес : 172.16.10.5/27

Установка LEMP Stack (Nginx, MariaDB, PHP) на Ubuntu 18.04 LTS

1. Установка Nginx

Откройте терминал и выполните следующую команду для установки веб-сервера Nginx:

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

Пример вывода:

Если вы видите такой вывод, как описано выше, служба Nginx запущена.

Если Nginx не запущен, вы можете запустить его с помощью команды:

1.1. Настройка firewall для работы веб-сервера Nginx.

По умолчанию веб-сервер Nginx недоступен из вне, если у вас включён брандмауэр UFW в Ubuntu 18.04 LTS. Вы должны разрешить трафик http и https через UFW, выполнив следующие шаги.

Сначала давайте посмотрим, какие профили приложений есть в UFW с помощью команды:

Как вы можете видеть, профили приложений Nginx и OpenSSH имеются в UFW.

Если посмотреть профиль «Nginx Full», то можно увидеть, что он обеспечивает трафик для портов 80 и 443:

Запустите следующую команду, чтобы разрешить входящий трафик HTTP и HTTPS для этого профиля:

Если вы хотите разрешить только трафик http (80), выполните:

Давайте продолжим и запустим тестовую страницу Nginx.

Для этого откройте свой веб-браузер и перейдите по адресу http://localhost/ или http://IP-адрес/

Вы увидите страницу, как показано ниже.

Сервер Nginx работает!

2. Установка MariaDB

MariaDB является заменой сервера базы данных MySQL.

Для того чтобы установить его, запустите:

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

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

После добавления репозитория запустите следующие команды для установки MariaDB.

Проверьте, работает ли служба MariaDB или нет, используя команду:

Пример вывода:

2.1. Установка пароля административного пользователя (root).

Во время установки MariaDB он установит пароль для учетной записи администратора (root).

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

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

Чтобы устранить эту проблему, войдите в систему как администратор базы данных MySQL, используя команду:

После входа в MySQL запустите следующие команды одну за другой:

И теперь вы можете установить пароль администратора базы данных root с помощью команды:

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

3. Установка PHP

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

После установки PHP нам нужно внести некоторые изменения в конфиг.

Для этого отредактируйте файл php.ini:

Найдите следующую строку:

Раскомментируйте её и измените значение 1 на 0 (ноль) .

Сохраните и закройте файл. Затем перезапустите службу PHP-FPM, чтобы применить изменения.

Проверьте, работает ли служба PHP-FPM или нет:

Пример вывода:

3.1 Настройка Nginx для использования PHP-FPM

Нам нужно настроить Nginx на использование PHP-FPM.

Для этого отредактируйте /etc/nginx/sites-available/default:

Найдите раздел «server» и укажите полное доменное имя или IP-адрес сервера Ubuntu, как показано ниже. Кроме того, дважды проверьте, добавлен ​​ли index.php в параметр index:

Давайте посмотрим, что означает каждая строка.

  • listen 80; — слушать ipv4 на 80 порту
  • listen [::]:80 default_server ; –> слушать ipv6 на 80 порту
  • root /var/www/html; –> Корневой каталог сайта Nginx
  • server_name 172.16.10.5; –> Полное доменное имя сервера Ubuntu или его IP адрес.

Затем найдите секцию #location

Замените строки этой секции, как показано ниже.

Сохраните и выйдите из файла.

Обратите особое внимание при изменении директивы fastcgi_pass в блоке

.php $ . Вы должны указать правильный файл, который фактически хранится в каталоге /run/php на вашем сервере. Чтобы проверить его, запустите:

Как вы можете видеть, имя файла php7.2-fpm.sock , а не php7.0-fpm.sock , и это то, что указано в директиве

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

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

Пример вывода:

Если ошибок нет, перезапустите службу nginx, чтобы изменения вступили в силу.

Для этого запустите:

Теперь создадим PHP-файл для проверки конфигурации PHP через браузер.

Для этого создайте файл с именем info.php в корневой папке сайта Nginx.

Добавьте следующие строки:

Сохраните и закройте файл. Перезапустите службу nginx, чтобы применить изменения.

Затем откройте веб-браузер и перейдите по адресу http://IP-адрес/info.php

Вы увидите страницу с информацией о PHP.

Поздравляем! PHP работает!

3.2. Установка модулей PHP

Чтобы улучшить функциональность PHP, вы можете установить некоторые дополнительные модули PHP.

Чтобы просмотреть доступные модули PHP, запустите:

Пример вывода:

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

Чтобы посмотреть сведения о конкретном модуле php, например php-gd , выполните:

Чтобы установить модуль php:

А для того чтобы установить все модули (не обязательно), запустите:

Не забудьте перезапустить службу Nginx после установки любого php-модуля.

Поздравляем! Мы успешно установили LEMP-stack на сервере Ubuntu 18.04 LTS. Начните развертывание веб-сайтов и веб-приложений в новом веб-стеке LEMP.

Поделиться ссылкой:

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

Для отправки комментария вам необходимо авторизоваться.

Как установить и настроить LEMP (Linux, Nginx, MySQL, PHP) на сервере с Ubuntu 16.04

LEMP — это набор популярного открытого серверного программного обеспечения, необходимого для работы динамических веб-сайтов и веб-приложений. Данный технологический стек является обязательным минимальным требованием для функционирования большинства популярных систем управления контентом и фреймворков (таких как WordPress, 1С-Битрикс, Laravel).

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

  • Linux — общее название дистрибутивов операционных систем, используемых для обслуживания интернет-серверов, дата-центров, суперкомпьютеров и т.д.;
  • Nginx — быстрый и надёжный HTTP-сервер, используется для обслуживания и маршрутизации внешних запросов (читается как Engine-X);
  • MySQL — система управления базами данных;
  • PHP — язык программирования общего назначения, преимущественно применяемый для разработки веб-приложений.

LEMP является альтернативой не менее популярному стеку LAMP (Linux, Apache, MySQL, PHP), в котором вместо Nginx используется веб-сервер Apache.

Текущее руководство описывает процесс установки и последующей настройки LEMP-стека на сервере с установленным дистрибутивом Ubuntu 14.04.

Для установки входящих в его состав компонентов, будет использован менеджер пакетов Ubuntu (apt), который по-умолчанию доступен после установки дистрибутива Ubuntu.

Технические требования

Перед тем как продолжить работу с данным руководством, у нас должен быть создан сервер с установленным дистрибутивом Ubuntu 14.04, а также настроено подключение к серверу по SSH для пользователя с административными (sudo) привилегиями.

Как это сделать — описано в руководстве «Vscale: создаём первый сервер».

Шаг 1. Установка веб-сервера Nginx

Для обслуживания HTTP запросов от посетителей вашего будущего сайта мы установим веб-сервер Nginx.

Установку легко произвести с помощью менеджера пакетов Ubuntu (apt):

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

Мы можем проверить, что веб-сервер запущен и корректно работает с помощью ввода IP-адреса сервера в строку браузера.

IP-адрес сервера можно найти в панели управления Vscale на вкладке «Серверы», либо получить прямо из терминала сервера с помощью следующей команды:

Вводим в строку браузера IP-адрес сервера:

Мы видим приветственную страницу с надписью «Welcome to nginx!«, и это значит, что установка Nginx прошла успешно.

Шаг 2. Установка MySQL

Теперь перейдём к установке и настройке MySQL-сервера, который будет отвечать за хранение и работу с данными.

Для установки воспользуемся следующей командой:

В процессе установки будет выведено сообщение, в котором MySQL попросит установить пароль «root» пользователя (главного администратора сервера баз данных).

После установки необходимо запустить специальный скрипт, который настроит MySQL для безопасного использования на вашем сервере. Для этого выполним:

В процессе работы данного скрипта будут удалены некоторые тестовые аккаунты и базы данных, отключён удалённый вход, а также вам будет предложено изменить пароль «root» пользователя (нажмите «n» если не хотите его менять). Нажимаем «Ввод» для согласия с действиями скрипта.

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

В выводе команды должна присутствовать строка «Active: active (running)«, сигнализирующая о том, что MySQL сервер запущен и работает в данный момент.

Чтобы узнать версию установленного MySQL сервера, выполним:

Шаг 3. Установка PHP

PHP в LEMP-стеке отвечает за генерацию динамического контента, выполнение скриптов и обработку бизнес-логики веб-приложения.

В упрощенном виде, внешние запросы от посетителей веб-сайта «приходят» на веб-сервер (Nginx), который затем передаёт их в PHP-скрипты. PHP-скрипты выполняют обработку запроса, соединяются с MySQL сервером для записи или получения необходимой информации, а затем передают результат своей работы назад к веб-серверу.

Для установки PHP (вместе с необходимым для работы с MySQL компонентом) воспользуемся следующей командой:

Теперь нам необходимо изменить одну из настроек в файле конфигурации PHP, для чего откройте на редактирование файл «php.ini» следующей командой:

В открывшемся редакторе нам нужно найти параметр «cgi.fix_pathinfo«, убрать символ комментария в начале строки («;«) и установить значение параметра в «1«, чтобы в результате получилось:

Сохраните отредактированный файл («Ctrl + o«) и выйдите из редактора («Ctrl + x«).

Чтобы изменения вступили в силу, нам нужно перезапустить процесс PHP:

Узнать версию установленного PHP можно следующей командой:

На данный момент все необходимые компоненты успешно установлены.

Нам осталось настроить Nginx для передачи запросов в PHP и затем создать тестовую веб-страницу, которая будет отображать страницу с информацией о сервере, что позволит нам убедиться в правильности настройки.

Шаг 4. Настройка Nginx для работы с PHP

Для настройки Nginx откроем для редактирования файл серверных настроек:

В данном файле нам нужно внести несколько изменений:

  • добавить в директиву «index» значение «index.php» первым в списке (чтобы PHP файлы имели приоритет в обработке веб-сервером перед HTML);
  • установить директиву «server_name» в значение IP адреса (или доменного имени) нашего сервера;
  • раскомментировать секцию, которая описывает настройки обработки PHP.

Результирующий файл серверных настроек представлен ниже:

Сохраните отредактированный файл («Ctrl + o«) и выйдите из редактора («Ctrl + x«).

Чтобы изменения вступили в силу, перезапустим Nginx:

Шаг 5. Создание тестовой веб-страницы

Последним шагом создадим тестовую веб-страницу, которая сгенерирует и выведет информацию о сервере. Создадим в корневой директории веб-сервера файл «phpinfo.php«:

В открывшемся редакторе вставим следующий PHP-код:

Сохраним созданный файл («Ctrl + o«) и выйдите из редактора («Ctrl + x«).

Теперь мы можем убедиться, что веб-сервер передаст HTTP запрос в интерпретатор PHP, который в свою очередь сгенерирует информационную страницу и выведет результат в браузер.

Для этого нам нужно обратиться к адресу созданной выше страницы в браузере:

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

Для удаления файла воспользуйтесь следующей командой:

Заключение

Теперь у нас установлен и настроен LEMP стек с Ubuntu 14.04, что даёт нам необходимую основу для построения производительных и отказоустойчивых веб-приложений с использованием популярных веб-фреймворков, CMS и других технологий на нашем сервере.

Дополнительные действия по работе с сервером:

Настройка веб-сервера Nginx + PHP-FPM + MySQL

Быстрая установка и настройка веб-сервера NginX для работы CS-Cart.

Если вы в первый раз настраиваете VPS сервер, то рекомендуем начать с изучения с более детальной инструкции: Настройка веб-сервера Apache .

Сервер и ресурсы

Для инструкции арендован самый простой VPS сервер.

Обычно VPS сервер предоставляется с чистой операционной системой, мы выбрали последнюю версию Ubuntu 14.04 LTS x86 на данный момент.

Технические характеристики сервера:

ОС Ubuntu 14.04 LTS x86
Диск 2.0 ГБ
Процессор 2000 МГц
Память 128 МБ

Ресурсов данного сервера достаточно только для теста и эксперимента.

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

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

1. Подключаемся к серверу по SSH

Используем терминал (PuTTY).

2. Обновим список пакетов

Запустите в терминале (PuTTY) команду:

3. Устанавливаем NginX

4. Останавливаем Nginx

Остановим NginX на время настройки простой командой:

5. Узнаем количество процессоров в системе

Количество процессоров нам понадобится для конфигурации NginX:

Запоминаем число процессоров.

6. Установим число процессов Nginx

Найдите на сервере и откройте для редактирования файл:

Установите для неё значение равное числу процессоров. В нашем случае один процессор.

7. Создадим папку для интернет-магазина

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

8. Конфигурация Nginx

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

Найдите на сервере и откройте файл:

Удалите весь код и вставьте новый. Ниже будет код, в комментариях кратко описано происходящее. Вам нужно заменить домен example.com на ваш домен

9. Перезапускаем nginx

10. Устанавливаем PHP-FPM

Можете установить любую версию PHP, соответствующую системным требованиям . Но в этом случае придется поменять конфигурацию nginx (/etc/nginx/sites-available/default) соответствующим образом. Например, если вы устанавливаете PHP7-FPM, вам придётся заменить путь к сокету PHP-FPM на /var/run/php/php7.0-fpm.sock .

11. Установим MySQL

Команда для установки MySQL:

В процессе установки вам потребуется несколько раз ввести пароль. Не потеряйте пароль!

12. Установим PhpMyAdmin

Ещё одной командой установим PhpMyAdmin для удобства работы с базой данных:

Потребуется ввести пароль от MySQL.

Консоль попросит вас выбрать Apache2 или lighttpd во время установки, пропустите данный шаг, просто нажмите ENTER

13. Добавим конфигурацию Nginx для PhpMyAdmin

Сделаем так, чтобы PhpMyAdmin открывался на отдельном поддомене: pma.example.com. Нам необходимо добавить в конфигурацию nginx новый раздел для поддомена.

Откройте на сервере файл:

В конец файла добавьте конфигурацию для поддомена, который будет ссылаться на phpmyadmin. Просто скопируйте код в конец существующей конфигурации, замените example.com на ваш домен:

14. Перезапускаем nginx

Вы уже знаете команду для перезагрузки nginx:

Предложение от 8host.com

Установка Nginx в Ubuntu 16.04

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

Данное руководство поможет установить Nginx на сервер Ubuntu 16.04.

Требования

  • Сервер Ubuntu 16.04.
  • Не-root пользователь с доступом к команде sudo (об этом – в руководстве по начальной настройке сервера).

1: Установка Nginx

Пакет Nginx доступен в стандартном репозитории системы Ubuntu.

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

sudo apt-get update
sudo apt-get install nginx

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

2: Настройка брандмауэра

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

Откройте список настроек приложений ufw:

sudo ufw app list

Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

Как видите, в списке есть три профиля Nginx:

  • Nginx Full: этот профиль открывает порт 80 (незашифрованный сетевой трафик) и 443 (зашифрованный трафик TLS/SSL).
  • Nginx HTTP: профиль для незашифрованного трафика HTTP на порт 80.
  • Nginx HTTPS: профиль для зашифрованного трафика TLS/SSL на порт 443.

Рекомендуется выбрать наиболее строгий профиль веб-сервера. Однако, поскольку на сервере ещё не настроен SSL, мы можем настроить только порт 80.

Чтобы включить профиль, введите:

sudo ufw allow ‘Nginx HTTP’

Убедитесь в том, что профиль включен:

sudo ufw status

Команда должна сообщить, что трафик HTTP разрешен:

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

3: Тестирование веб-сервера

После установки Ubuntu 16.04 запустит Nginx автоматически. На данный момент веб-сервер должен запуститься и работать.

Чтобы убедиться в том, что Nginx запущен, запросите его состояние в системе инициализации systemd.

systemctl status nginx
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 Mon 2016-04-18 16:14:00 EDT; 4min 2s ago
Main PID: 12857 (nginx)
CGroup: /system.slice/nginx.service
├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─12858 nginx: worker process

Как видите, сервис успешно запущен.

Также можно попробовать посетить стандартную посадочную страницу Nginx. Она доступна в браузере по доменному имени или IP-адресу.

Если вы не знаете своего IP-адреса, вы можете узнать его с помощью командной строки. Введите:

ip addr show eth0 | grep inet | awk ‘< print $2; >‘ | sed ‘s//.*$//’

Команда вернёт несколько строк. Проверьте каждый адрес в браузере.

Также можно узнать, как видят ваш IP-адрес другие точки в сети.

sudo apt-get install curl
curl -4 icanhazip.com

Узнав вой IP, введите его в браузер, чтобы убедиться, что веб-сервер работает должным образом.

На экране должна появиться стандартная посадочная страница Nginx:

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

4: Управление процессами Nginx

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

Чтобы остановить Nginx, введите:

sudo systemctl stop nginx

Чтобы запустить, введите:

sudo systemctl start nginx

Для перезапуска используйте команду:

sudo systemctl restart nginx

Чтобы обновить настройки Nginx, не сбрасывая соединения, введите команду:

sudo systemctl reload nginx

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

sudo systemctl disable nginx

Чтобы возобновить автозапуск сервиса, введите:

sudo systemctl enable nginx

5: Файлы и каталоги Nginx

Теперь вы знаете, как управлять сервисом. Пора ознакомиться с важными файлами и каталогами Nginx.

  • /var/www/htm: этот каталог содержит текущий контент сайта. По умолчанию в нём находится только стандартная посадочная страница, которую вы уже видели. Этот каталог можно изменить в конфигурационном файле Nginx.

Настройки сервера

  • /etc/nginx: каталог настроек nginx, в котором хранятся все конфигурационные файлы.
  • /etc/nginx/nginx.conf: главный конфигурационный файл Nginx, содержащий глобальные настройки веб-сервера.
  • /etc/nginx/sites-available: каталог, хранящий настроенные блоки server (виртуальные хосты) каждого отдельного сайта. Nginx не будет использовать эти блоки, пока ссылка на них не появится в каталоге sites-enabled (о нём речь пойдёт дальше). Как правило, этот каталог используется для настройки виртуальных хостов.
  • /etc/nginx/sites-enabled/: каталог, хранящий включенные блоки server. Чтобы включить блок, нужно создать символьную ссылку на файл, хранящийся в каталоге sites-available.
  • /etc/nginx/snippets: этот каталог хранит фрагменты настроек, которые можно включить в конфигурацию Nginx. Как правило, в качестве фрагментов добавляют потенциально повторяемые сегменты конфигурации.
  • /var/log/nginx/access.log: этот лог регистрирует все запросы, полученные веб-сервером Nginx (если не настроено другое поведение).
  • /var/log/nginx/error.log: этот лог хранит все сообщения об ошибках Nginx.

Заключение

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

Научиться создавать блоки server можно здесь. Чтобы установить более сложный программный стек для поддержки сайта, читайте руководство по установке LEMP.

Как установить Nginx на Ubuntu 16.04

В этом руководстве мы обсудим, как установить Nginx на вашем сервере Ubuntu 16.04.

Предпосылки

Прежде чем вы начнете это руководство, вы должны иметь обычного пользователя без полномочий root с привилегиями sudo настроенными на вашем сервере. Вы можете узнать, как настроить обычную учетную запись пользователя, следуя нашему первоначальному руководству по настройке сервера для Ubuntu 16.04.

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

Шаг 1. Установите Nginx

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

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

После принятия процедуры, apt-get установит Nginx и все необходимые зависимости на ваш сервер.

Шаг 2. Отрегулируйте межсетевой экран

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

Мы можем перечислить конфигурации приложений, которые ufw знает, набрав:

Вы должны получить список профилей приложения:

Как вы можете видеть, для Nginx доступны три профиля:

  • Nginx Full : этот профиль открывает порт 80 (обычный, незашифрованный веб-трафик), так и порт 443 (TLS / SSL-шифрованный трафик)
  • Nginx HTTP : этот профиль открывает только порт 80 (обычный, незашифрованный веб-трафик)
  • Nginx HTTPS : этот профиль открывает только порт 443 (TLS / SSL-шифрованный трафик)

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

Вы можете включить это, набрав:

Вы можете проверить изменения, набрав:

Вы должны увидеть HTTP-трафик, разрешенный в отображаемом выводе:

Шаг 3. Проверьте веб-сервер

По окончании процесса установки Ubuntu 16.04 запускает Nginx. Веб-сервер должен быть запущен.

Мы можем проверить systemd системы systemd init, чтобы убедиться, что служба запущена, набрав:

Как вы видите выше, служба, похоже, успешно запущена. Однако лучший способ проверить это – фактически запросить страницу у Nginx.

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

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

Попробуйте ввести это в командной строке вашего сервера:

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

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

Когда у вас есть IP-адрес или домен вашего сервера, введите его в адресную строку вашего браузера:

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

Эта страница просто включена в Nginx, чтобы показать вам, что сервер работает правильно.

Шаг 4. Управление процессом Nginx

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

Чтобы остановить веб-сервер, вы можете ввести:

Чтобы запустить веб-сервер, когда он остановлен, введите:

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

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

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

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

Шаг 5. Знакомство с важными файлами и каталогами Nginx

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

Содержание

  • /var/www/html . Фактический веб-контент, который по умолчанию состоит только из страницы Nginx по умолчанию, которую вы видели ранее, обслуживается из /var/www/html . Это можно изменить, изменив конфигурационные файлы Nginx.

Конфигурация сервера

  • /etc/nginx Etc /etc/nginx : Каталог конфигурации nginx. Здесь находятся все конфигурационные файлы Nginx.
  • /etc/nginx/nginx.conf : Основной файл конфигурации Nginx. Его можно изменить, чтобы внести изменения в глобальную конфигурацию Nginx.
  • /etc/nginx/sites-available : каталог, в котором могут храниться «серверные блоки» для каждого сайта. Nginx не будет использовать конфигурационные файлы, найденные в этом каталоге, если они не связаны с каталогом с включенными сайтами (см. Ниже). Как правило, вся конфигурация серверного блока выполняется в этом каталоге, а затем включается путем привязки к другому каталогу.
  • /etc/nginx/sites-enabled/ Etc /etc/nginx/sites-enabled/ : каталог, в котором хранятся разрешенные «серверные блоки» для каждого сайта. Как правило, они создаются путем связывания с конфигурационными файлами, находящимися в каталоге, доступном для sites-available .
  • /etc/nginx/snippets Etc /etc/nginx/snippets . Этот каталог содержит фрагменты конфигурации, которые могут быть включены в конфигурацию Nginx. Потенциально повторяемые сегменты конфигурации являются хорошими кандидатами для рефакторинга в фрагменты.

Журналы серверов

  • /var/log/nginx/access.log : каждый запрос на ваш веб-сервер сохраняется в файл журнала /var/log/nginx/access.log , если только Nginx не настроен иначе.
  • /var/log/nginx/error.log : Любые ошибки Nginx будут сохраняться в журнал /var/log/nginx/error.log .

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ссылка на основную публикацию