Переустановка 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 на Ubuntu
Эти данные показывают, что установлен nginx версии 1.18.0. На момент написания статьи это последняя версия для Ubuntu 20.04.
Тестирование веб-сервера 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 считает конфигурационными файлами
Вам поможет примерно такое:
Читайте также: