Переустановка nginx ubuntu 20

Обновлено: 06.07.2024

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

Данный мануал поможет установить Nginx на сервер Ubuntu 20.04.

Примечание: Расширенную версию этого мануала вы найдете здесь.

Требования

Для работы нужен сервер Ubuntu 20.04, настроенный по этому мануалу.

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

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

Пакет Nginx можно найти в стандартном репозитории Ubuntu и установить с помощью пакетного менеджера apt.

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

sudo apt update
sudo apt install nginx

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

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

Просмотрите список доступных профилей ufw:

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

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

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

Чтобы убедиться в том, что 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:>
Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago
Docs: man:nginx(8)
Main PID: 13255 (nginx)
Tasks: 2 (limit: 1137)
Memory: 4.6M
CGroup: /system.slice/nginx.service
├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master>
└─13256 nginx: worker process

Теперь откройте посадочную страницу Nginx, чтобы убедиться, что веб-сервер работает. Введите в браузер:

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

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

4: Настройка виртуального хоста (рекомендуется)

Затем установите права на каталог с помощью переменной $USER:

sudo chown -R $USER:$USER /var/www/your_domain/html

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

sudo chmod -R 755 /var/www/your_domain

Затем создайте образец страницы index.html с помощью nano или другого редактора:

Вставьте в файл такие строки:

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

sudo nano /etc/nginx/sites-available/your_domain

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

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

Включите файл, создав симлинк в каталоге sites-enabled:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

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

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

sudo nano /etc/nginx/nginx.conf

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

Проверьте ошибки в конфигурационном файле Nginx:

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

sudo systemctl restart nginx

Заключение

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

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

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

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

Пакет Nginx можно найти в стандартном репозитории Ubuntu и установить с помощью пакетного менеджера apt.

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

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

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

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

Откройте список доступных профилей ufw:

В этом списке вы найдете три профиля Nginx:

Лучше использовать профиль, который поддерживает шифрование. Но поскольку на свежем сервере ещё не настроен SSL, мы можем открыть только порт 80.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5: Настройка виртуального хоста

Затем установите права на каталог с помощью переменной $USER:

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

Затем создайте образец страницы index.html с помощью nano или другого редактора:

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

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

Обратите внимание, что root содержит путь к новому каталогу, а server_name – новый домен.

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

Включите файл, создав симлинк в каталоге sites-enabled:

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

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

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

Проверьте ошибки в конфигурационном файле Nginx:

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

6: Важные файлы и каталоги Nginx

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

В этом инструкции мы установим NGINX в качестве автономного веб-сервера на Ubuntu 20.04.

Установка NGINX на Ubuntu 20.04

Прежде чем приступить к установке NGINX. Сначала запустите команду sudo apt-get update, чтобы получить информацию о новых и обновленных пакетах Ubuntu.

Nginx доступен в репозитории пакетов Ubuntu. Поэтому Nginx очень лего установить с помощью следующей команды:

Проверьте состояние службы NGINX

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

Проверьте состояние службы NGINX

Проверьте состояние службы NGINX

Вывод приведенной выше команды подтверждает, что NGINX активен и работает.

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

Провера версии Nginx на Ubuntu

Провера версии Nginx на Ubuntu

Проверьте версию Nginx на Ubuntu

Эти данные показывают, что установлен nginx версии 1.18.0. На момент написания статьи это последняя версия для Ubuntu 20.04.

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

Веб-страница по умолчанию NGINX

Веб-страница по умолчанию NGINX

Теперь требуется, убедится, что соответствующий порт открыт в вашем брандмауэре. Например, если вы включили Брандмауэр UFW на своем сервере Ubuntu. Вы должны попытаться обновить правила брандмауэра. Для того чтобы разрешить NGINX общаться по порту 80 и/или 443 следующим образом.

Команда разрешает NGINX работать на порту 80:

Команда разрешает NGINX работать на порту 443:

Настройка серверных блоков NGINX

Если вы хотите разместить несколько веб-сайтов на одном веб-сервере NGINX, то вам нужно будет настроить серверные блоки. Серверные блоки также называются виртуальными хостами (в основном в Apache).

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

$ sudo cat /etc/nginx/sites-available/default | more

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

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

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

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

Создать корень сайта

Создание индексного файла

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

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
>
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>

Сохраните изменения и закройте текстовый редактор.

Создание серверного блока

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

$ sudo nano /etc/nginx/sites-available/domain1

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

Включить серверный блок

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

$ ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled

Проверьте свою конфигурацию

$ sudo nginx-t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

Вы можете запустить sudo service nginx reload, чтобы перезагрузить файлы конфигов.

Протестируйте свой новый сайт

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

Хостинг дополнительного сайта с использованием серверного блока

Хостинг дополнительного сайта с использованием серверного блока

Основные команды для управления NGINX сервером

Вот основные команды Nginx сервера для управления.

Команда restart остановит службу, а затем запустит ее снова.

$ sudo systemctl restart nginx

Команда reload сообщает NGINX перезагрузить конфигурационные файлы, но без остановки службы.

Команда stop остановит службу NGINX.

Включение Nginx при загрузке системы.

Примечание: служба Nginx включена по умолчанию. И автоматически стартует при загрузке сервера.

Основные файлы конфигурации и журналов NGINX

/etc/nginx этот файл содержит все конфигурационные файлы NGINX.

/etc/nginx/sites-available этот файл содержит дынные серверных блоков, в которых хранят сведения о конфигурации. Требуется это для обслуживания одного или нескольких веб-сайтов.

/etc/nginx/sites-enabled данный файл содержит конфигурации одного или нескольких включенных веб-сайтов.

/etc/nginx/nginx. conf это основной конфигурационный файл, который считывает директивы конфигурации в других файлах.

/var / log/nginx / access. log этот файл хранит данные о всех посещениях вашего сайта

/var/log/nginx/error. log этот файл предназначен для хранения ошибок NGINX

Заключение

Следуя этой инструкции, вы можете запустить NGINX с одним или несколькими веб-сайтами на вашем сервере Ubuntu 20.04. Но если вдруг у вас возникли какие-либо проблемы, то пожалуйста, не стесняйтесь сообщить мне об этом в разделе комментариев ниже. Я сделаю все возможное, чтобы помочь вам.

Всем ку! ) Сразу говорю, что за Линукс сел недавно, поэтому вопросы могут быть тупыми.

sudo apt-get remove ngnix

E: Не удалось найти пакет ngnix

sudo apt-get install nginx

Уже установлена самая новая версия nginx.

В связи с этим возникли вопросы: 1) как переустановить пакет? Или, как альтернатива, восстановить файлик из уже скачанных архивов, но как? 2) как настроить систему, чтобы можно было рулить энджайниксом через service?

sudo service nginx stop

sudo service nginx start

sudo service nginx restart

sudo service nginx reload

Дистрибутив у меня ubuntu-12.04.3-server-i386



apt-get remove ngnix
apt-get install nginx

найди отличия. по второму вопросу - в этих ваших убунтах еще не systemd?

Komintern ★★★★★ ( 26.01.14 12:19:36 )
Последнее исправление: Komintern 26.01.14 12:20:00 (всего исправлений: 1)

apt-cache policy nginx



А в чем отличия? Если пытаюсь удалить пакет, система говорит, что такого пакета нет и не удаляет его. Если пытаюсь установить заново (так и быть, верю системе на слово), она говорит, что пакет уже установлен и не устанавливает ничего (это означает, что поврежденный файл не перезаписывается на нормальный из архива). Или я не так понял твой вопрос? Про systemd лучше не у меня спрашивать ))

Отличие в имени пакета. Понимаю что глаз замылен, но читать что пишут то, тоже надо.


О! спасибо! увидел разницу ) Только после переустановки файл /etc/init.d/nginx вообще исчез ((


Первый вопрос, на счет переустановки, снимается. Но остается второй вопрос:

2) как настроить систему, чтобы можно было рулить энджайниксом через service?

sudo service nginx stop

sudo service nginx start

sudo service nginx restart

sudo service nginx reload

service умеет рулить как upstart(/etc/init), так и SysV(/etc/init.d) скриптами. Один из них должен присутствовать, если нет - значит не nginx установлен.


Ни в init, ни в init.d нет nginx, но

Status: install ok installed

Что за аномалия у меня? ))

apt-cache search nginx

Внимательно смотри список и думай, чего не хватает. Скорее всего, нет ни nginx-full, ни nginx-light


Только после переустановки файл /etc/init.d/nginx вообще исчез ((

1) Всё, что живёт в /etc/, dpkg считает конфигурационными файлами

Вам поможет примерно такое:


Читайте также: