Есть ли способ изменять значения конфига nginx без пересборки?

Я уже использую более высокие значения для worker_connections и worker_processes в nginx, применяя правила замены в app.yml.

Хотя я бы хотел поэкспериментировать, чтобы найти оптимальные значения, желательно без пересборки Discourse каждый раз. Есть ли способ изменить nginx.conf внутри контейнера и перезапустить процесс nginx без полной пересборки Discourse?

Да, вы можете войти в контейнер (например, ./launcher enter app), использовать apt для установки редактора, отредактировать файлы NGINX и выполнить sv restart nginx (возможно, подойдет и reload?).

Я так думал и пробовал, пока не увидел, что даже одного источника для apt нет. Добавить его самому как-то звучит ненадёжно для системы, которую я не знаю и которая работает в продакшене. Наличие хотя бы vi там действительно помогло бы для простых задач подмигивание :wink:

Я никогда не обращал внимания на источники apt, но у меня есть несколько шаблонов, которые выполняют apt-get update; apt-get install для установки необходимых компонентов в контейнере (например, для моего dashboard.literatecomputing.com требуются Python и Ansible). Это работало, или, по крайней мере, работало ещё в прошлую пятницу. Аналогично, шаблон, который я использую для выполнения миграций, добавляет vim и некоторые другие утилиты.

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

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

Я бы тоже не стал обращать внимания на источники apt, но без них установка невозможна; в остальном мне всё равно.

root@forum-app:/var/www/discourse# apt install vi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package vi
root@forum-app:/var/www/discourse# apt list sources
Listing... Done
root@forum-app:/var/www/discourse#

То же самое касается apt-get, vim или nano — просто для уверенности :wink:

Вы выполнили команду apt update перед использованием apt install? В первый раз необходимо обновить список источников.

Ubuntu что-то, и после apt update && apt dist-upgrade (где я ответил нет, потому что он хотел обновить pqsl, и я испугался) apt install nano успешно выполнился.

Ну, источников нет — apt update ничего не делает без них :wink:

Это стандартная установка?

Я только что выполнил

apt update
apt installl -y vim

на только что созданном сайте и установил vim.

Внутри контейнера дискурса? Очень стандартная установка.

Тогда я не могу объяснить, почему код, который я привёл выше, у вас не работает. Я делаю это сегодня и уже много лет.

У меня на Ubuntu после /launcher enter app успешно выполняется apt update && apt install nano -y [1]. Поэтому, если apt не работает, я бы сказал, что либо сама система, либо Docker повреждены :thinking:


  1. vim — это редактор типа S/M… ↩︎

Знаете, теперь это работает и у меня — если честно, я уже сомневался в себе. Не уверен, в чём была причина, но теперь всё работает. вздох

Не переживайте, такое случается! Я рад, что теперь всё работает. :+1: