Где находится nexus на компьютере
Про утилиту сборки для Java-проектов Maven и про возможность создания локального сервера для Maven-репозитория с помощью Sonatype Nexus на Хабре уже упоминали (тут и тут). Однако, никакого рецепта по этому поводу представлено не было. Это неудивительно при наличии достаточно полной грамотной документации. По долгу службы мне пришлось настраивать его на нашей фирме, и оказалось, что советы из официальной документации не совсем подходят. Возникшей проблемой и способом ее решения я и хочу поделиться с сообществом. Но обо всем по порядку.
Зачем это нужно?
Локальный сервер для Maven-репозитория (как, например, Sonatype Nexus) может быть использован для хранения локальных артефактов Maven, и действительно пригодится командам, которые разрабатывают модульные приложения, но не собираются публиковать модули в общий доступ.
- Sonatype Nexus
- Apache Archiva
- Artifactory
Установка Sonatype Nexus
На данном этапе можно смело следовать документации, на моей памяти проблем не возникало. На сайте Sonatype есть неплохой обучающий скринкаст. Вкратце перескажу суть процесса установки.
В принципе, им уже можно пользоваться без всякой настройки(из коробки доступны прокси-репозитории Maven central, Codehaus, Apache), но имеет смысл настроить права доступа, группы репозиториев, добавить необходимые прокси-репозитории, включить индексирование, и.т.п.
Настройка Maven для использования Sonatype Nexus в качестве прокси
Данный этап уже гораздо неоднозначнее. Посмотрим, что предлагает нам официальная документация.
Здесь рекомендуют в settings.xml записать следующее:
* This source code was highlighted with Source Code Highlighter .
При этом, там честно говорят, что такая настройка может вызвать проблемы в случае, если для проекта в pom.xml определены сторонние репозитории с помощью тега . Дело в том, что при такой настройке Maven опрашивает только Nexus, который может быть не осведомлен о наличии дополнительных репозиториев. Так уж получилось, что в нашем проект такие репозитории имеются. Документация советует в таких ситуациях добавлять все такие репозитории в public группу локального репозитория.
Вполне логичный совет, но имеется ряд организационных проблем, связанных с ограничением доступа к администрированию Nexus. Так, например, для того чтобы попробовать в деле какую-нибудь библиотеку стороннюю, разработчик вынужден дергать админа, чтоб тот добавил соответствующий репозиторий в Nexus. На время отключать это зеркало в settings.xml — тот еще костыль.
- Использовать зеркало с параметром central Все работает, но выгоды в производительности и в экономии трафика от использования зеркала мало. В этом случае Nexus будет проксировать только главный репозиторий, так как все дополнительные репозитории опрашиваются раньше, чем central.
- Добавлять Nexus как репозиторий в каждый проект в pom.xml. Этот вариант еще менее удобен, кроме того не подходит, например, для чужих и публичных проектов (когда нельзя вносить изменения в pom.xml). Зато опрос Nexus_a можно сделать первым в очереди.
- Добавить Nexus как репозиторий в профиль по умолчанию. Это подход, объединяющий положительные черты вышепредставленых — централизованная настройка и эффективное проксирование
* This source code was highlighted with Source Code Highlighter .
По сути, данной настройкой мы добавляем профиль, активный по умолчанию, который добавляет Nexus как обычный репозиторий. И добавляется он первым в очередь.
Теперь все запросы сначала отправляются Nexus_у. Тот в зависимости от наличия запрашиваемого артефакта в хранимых и подключенных прокси-репозиториях либо отдает запрошенный артефакт, либо отвечает отрицательно. В случае отрицательного ответа Maven просто продолжит опрос перечисленных в pom.xml репозиториев, а затем обратится и к репозиторию Maven central.
Примущества подхода
Недостатки подхода
Выявлен только один недостаток — существует опасность забыть добавить необходимый дополнительный репозиторий в pom.xml. Правда, следует отметить, что этот недостаток касается фактически всех подходов (кроме 2-го) а также может проявляться вообще в отсутствие локального Nexus репозитория.
Дело в том, что если сторонний репозиторий добавлен в Nexus, то у разработчиков, у которых Nexus подключен, сборка будет проходить без проблем. Но разработчики, без настроенного Nexus не смогут собрать проект вообще, так как их Maven не будет знать, из какого дополнительного репозитория нужно запросить артефакты.
Аналогичная ситуация может возникнуть просто если какой-то артефакт закеширован в локальных репозиториях разработчиков после работы над предыдущими проектами. Вобщем, в этом вопросе лишь важно не терять бдительность.
Послесловие
Надо сказать, что совет авторов документации добавлять все дополнительные репозитории, описанные в pom.xml проектов, в Nexus никто не отменял. Это действительно лучше делать для того, чтобы получить выгоду от использования проксирующего Maven-репозитория. Но зато применение предложенного решения делает это необязательным, что может убрать время ожидания разработчика, пока админ добавит нужный репозиторий.
UPD: Наткнулся на интересную статью, в которой рассматриваются похожие вопросы.
Если помните, то уже писал о Winstep Nexus . Это красивейшая док-панель быстрого доступа в Windows, которая служит для запуска программ, открытия папок и файлов.
Но, во-первых, тогда описал только установку и дал два архива с анимированными, потрясающей красоты иконками, а настройки не рассматривал, полагая, что они на русском языке и справитесь с ними сами. Ошибся — каюсь. Было много вопросов по настройке этой панели.
Во-вторых, вышла новая версия — Winstep Nexus. В неё добавили ещё больше супер-эффектов. Описать эту красотищу не смогу словами — это надо видеть. К эффектам при наведении на ярлыки добавили новые, к появлению или исчезновению самой панели. Теперь она может сгорать, вспыхивать…
Меняем иконки в Winstep Nexus на живые (анимированные)
Кликаем правой кнопкой мыши по иконке и…
Указываем папку с живими иконками скачанную из первой статьи и в ней находим…
Теперь наведите мышку на новую иконку браузера… А-А-А. Горим. Зовите пожарных.
Вот как-то так с шутками установили и настроили лучшую панель быстрого доступа Windows к программам, папкам и файлам под названием Winstep Nexus .
Описывать установку не буду — она показана в первой статье. Дал ссылку на скачивание официальной и самой актуальной версии программы Winstep Nexus.
Для закрепления материала или если остались вопросы — смотрим видео…
Требования
Доступ API для этой роли
Эти переменные контролируют, как роль подключается к API Nexus для предоставления.
Только для продвинутых пользователей. Скорее всего, вы не хотите изменять эти настройки по умолчанию
Что такое Nexus Mod Manager
Nexus Mod Manager (NMM) – это бесплатная программа с открытым кодом, позволяющая скачивать, устанавливать и обновлять моды для линейки популярных игр.
Функционал NMM полностью автоматизирован, все процессы совершаются за пару кликов, уберегая пользователя от различной инсталляционной рутины. Отключение (удаление) ранее установленного мода проводится не менее быстро, позволяя избежать траты времени на поиск и удаление соответствующих файлов в теле игры.
Для установки нужного мода вам будет достаточно выбрать его, далее Nexus Mod Manager скачает и установит данный мод в нужную игровую директорию на вашем ПК.
Среди поддерживаемых NMM игр — популярная action/RPG «Fallout 4»
Артефакты поддерживаемые в базовой поставке Sonatype Nexus:
- Java, Maven (jar)
- Docker
- Python (pip)
- Ruby (gem)
- NPM
- Bower
- Yum (rpm)
- gitlfs
- Raw
- Apt (deb)
- Go
- Nuget
Артефакты поддерживаемые сообществом:
Публичное имя хоста
Переменные роли
Зачем нужен Sonatype Nexus?
- Для хранения приватных артефактов;
- Для кеширования артефактов, которые скачиваются из интернета;
Blobstores и репозитории
Delete the repositories from the nexus install initial default configuration. This step is only executed on first-time install (when nexus_data_dir has been detected empty).
Удаление репозиториев из исходной конфигурации по умолчанию для Nexus. Этот шаг выполняется только при первой установке (когда nexus_data_dir пустой).
Удаление хранилища блобов (бинарных артефактов) выключено по умолчанию из исходной конфигурации. Для удаления хранилища блобов (бинарных артефактов) выключите nexus_delete_default_repos: true . Этот шаг выполняется только при первой установке (когда nexus_data_dir пустой).
Blobstores to create. A blobstore path and a repository blobstore cannot be updated after initial creation (any update here will be ignored on re-provisionning).
Configuring blobstore on S3 is provided as a convenience and is not part of the automated tests we run on travis. Please note that storing on S3 is only recommended for instances deployed on AWS.
Cоздание Blobstores. Путь к хранилищу и репозиторию хранилищ не могут быть обновлены после первоначального создания (любое обновление здесь будет игнорироваться при повторной установке).
Настройка хранилища BLOB-объектов на S3 предоставляется для удобства. Обратите внимание, что хранение на S3 рекомендуется только для экземпляров, развернутых на AWS.
Выше пример конфигурации прокси-сервер Maven.
Maven hosted repositories configuration. Negative cache config is optionnal and will default to the above values if omitted.
Конфигурация размещенных (hosted) репозиториев Maven. Конфигурация отрицательного кэша (-1) является необязательной и будет по умолчанию использовать вышеуказанные значения, если не указана.
Все три типа репозитория объединяются со следующими значениями по умолчанию:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS and yum repository types:
see defaults/main.yml for these options:
Хранилища Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS и yum по умолчанию выключены:
Смотрите defaults/main.yml для этих опций:
Обратите внимание, что вам может потребоваться включить определенные области безопасности, если вы хотите использовать другие типы репозиториев, кроме maven. Это по умолчанию false
Remote User Realm также может быть включена с помощью
и заголовок может быть настроен путем определения
Привилегии
Список привилегий для настройки. Посмотрите документацию и графический интерфейс, чтобы проверить, какие переменные должны быть установлены в зависимости от типа привилегии.
Эти элементы объединяются со следующими значениями по умолчанию:
Скриншоты:
Настройка обратного прокси
Установить адрес электронной почты администратора по умолчанию
Каталоги экземпляров Nexus
ПОЛЕЗНОЕ ВИДЕО
Такая панель быстрого доступа в Windows под названием Winstep Nexus. До новых полезных компьютерных программ и интересных приложений для Андроид.
Sonatype Nexus – интегрированная платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение.
Порт Nexus и контекстный путь
Порт и контекстный путь процесса Java-соединения. nexus_default_context_path должен содержать косую черту, когда он установлен, например.: nexus_default_context_path: '/nexus/' .
Пользователи
Local (non-LDAP) users/accounts list to create in nexus.
Список локальных (не LDAP) пользователей/учетных записей для создания в Nexus.
Маппинг Ldap пользователей/ролей. Состояние absent удалит роли из существующего пользователя, если он уже существует.
Пользователи Ldap не удаляются. Попытка установить роль для несуществующего пользователя приведет к ошибке.
Удобная панель быстрого запуска для Windows
В комплекте с анимированными ярлыками, которые дал в первой статье (два архива — на все случаи жизни), новая Winstep Nexus вызывает у моих знакомых полнейший шок.
Первые пару минут они вообще разговаривать не могут. А их первые слова — «И мне, мне тоже установи. »
Ниже подробнее расскажу и покажу, где найти и как настроить все эти чудеса (скриншоты в обзоре могут немного отличаться, так как панель постоянно развивается авторами и систематически обновляется, но это не помешает вам разобраться в ней за 5 минут).
С пятого раза успел словить эффект при скрытии панели под названием «Вспышка» …
Иконки программ не анимированные (сапожник без сапог) — с ними ещё красивей всё выглядит.
Официальная ссылка на скачивание самой актуальной бесплатной версии док-панели будет, как всегда, в конце обзора, а пока…
Селекторы контента
Для получения дополнительной информации о селекторе контента см. Документацию.
Чтобы использовать селектор контента, добавьте новую привилегию с type: repository-content-selector и соответствующим contentSelector
Конфигурация LDAP
Соединения LDAP и область безопасности по умолчанию отключены
Соединения LDAP, каждый элемент выглядит следующим образом:
Пример конфигурации LDAP для анонимной аутентификации (анонимная привязка), это также «минимальная» конфигурация:
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA):
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA) + группы, сопоставленные как роли:
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA) + группы, динамически сопоставленные как роли:
Анонимный доступ по умолчанию
Анонимный доступ по умолчанию вылючен. Подробнее про анонимный доступ.
Настройка Winstep Nexus
Кстати, если боитесь, что на слабеньком компе программа не будет работать — ошибаетесь, она работает на любой конфигурации, это проверено. Только нужно на очень уж хилых машинах отключить какие-нибудь эффекты и всё.
При первом запуске внешний вид панели очень скромный и набитый лишними иконками.
Сразу удаляю кликом правой кнопки мыши по ним и выбором соответствующего пункта в выпавшем меню или методом перетаскивания с панели вниз — где они сгорают в ядерном взрыве. Туда им и дорога.
Теперь кликаем правой кнопкой в любом месте панели и видим…
Это мы в полной версии и тут два пункта настроек…
Голубой, живой стрелой указано для какой док панели делаем настройки.
Тут внимательнее. Выставьте опытным путём задержку скрытия панели быстрого запуска программ (файлов) и метод активации её. После любых изменений настроек не забываем жать «Применить» .
И самое главное — эффект при появлении или скрытии…
Поиграйтесь с ними — оставьте понравившийся больше всего.
Это дополнительные настройки суб-папок. Это когда при наведении на папку выпадает её содержимое. Тоже есть анимация и т.д. Верхняя галочка отвечает за срабатывание при наведении мышкой на папку. Без этой галочки — просто кликайте на папке и она раскроется.
Размер иконок, тени, нужны ли подписи (убрал у себя), прозрачность, интервал, цвет фона и индикатор запущенных программ, который можно выбрать.
Всё на русском языке… Теперь второй пункт меню — просто «Настройки» …
Тут можно создать или удалить, а также настроить, где отображать дополнительные панели.
Тут можно выбрать, как будет выглядеть панель быстрого доступа в Windows — вариантов куча. Вверху кнопка, где можно определиться для какой панели выбираете тему. Есть же и нижняя панель с вкладками, куда можно тоже много всего навешать, а её и не заметили?
А тут нужно обязательно убрать все галки, если скачали и пользуетесь хитрой полной версией. Иначе «спалят» . В принципе, в бесплатной версии эта функция тоже бесполезна — не работает почему-то.
Пример ansible-playbook для установки nexus без LDAP с репозиториями Maven (java), Docker, Python, Ruby, NPM, Bower, RPM и gitlfs.
Запланированные задачи
Запланированные задачи для настройки. typeId и специфичные для задачи taskProperties / booleanTaskProperties можно угадать либо:
- из иерархии типов Java org.sonatype.nexus.scheduling.TaskDescriptorSupport
- проверяя HTML-форму создания задачи в вашем браузере
- от просмотра запросов AJAX в браузере при ручной настройке задачи.
Свойства задачи должны быть объявлены в правильном блоке yaml в зависимости от их типа:
- taskProperties для всех строковых свойств (т. е. имен репозиториев, имен хранилищ, периодов времени . ).
- booleanTaskProperties для всех логических свойств (т. е. в основном чекбоксы в графическом интерфейсе задачи создания нексуса).
Пользователь и группа ОС Nexus
Пользователь и группа, используемые для владения файлами Nexus и запуска службы, будут созданы ролью, если она отсутствует.
Разрешить изменять домашний каталог по умолчанию для пользователя nexus
Заключение
Пароль администратора
Как скачать Nexus Mod Manager
Нажмите на «Create Account» для создания аккаунта
- В окне регистрации введите своё имя или ник (Username), е-мейл, пароль к своему аккаунту (Password), ещё раз тот же пароль (Confirm Password), укажите свой пол (Gender).
- Затем вам будет необходимо ответить по-английски на вопрос программы, которая хочет удостовериться, что вы не бот.
- Если вы не знаете английский язык на должном уровне, тогда рекомендую воспользоваться программами-переводчиками, который помогут дать англоязычный вариант правильного ответ на указанный вопрос.
- Затем введите капчу в соответствующем рядке, поставьте галочку напротив «I’ve read and agree to the Terms of Use», и нажмите на кнопку «Create Account».
- На ваш е-мейл будет выслано письмо с подтверждением регистрации, и, после нажатия на соответствующую ссылку в нём, вы получите возможность войти на сайт под выбранным ранее логином и паролем.
Теперь скачайте Nexus Mod Manager, выбрав соответствующую версию для своей операционной системы, и установите данную программу на ПК.
Роли (внутри Nexus имеется виду)
Список ролей для настройки.
Как пользоваться программой Nexus Mod Manager
При своём первом запуске NMM начнёт автоматический поиск на ПК поддерживаемых ею игр. При необходимости вы можете прервать процесс, самостоятельно установив или сняв галочки с нужных игр. Если приложение Nexus Mod Manager не найдёт хотя бы одну из поддерживаемых игр, он досрочно завершит работу. Вы можете непосредственно указать программе путь к игре, без необходимости ожидать, пока NMM найдёт данную игру на компьютере (кликните на кнопку с тремя точками рядом с названием нужной игры).
Затем вам будет необходимо выбрать одну из установленных (и найденных NMM на вашем компьютере) игр, с модами к которой вы желаете работать.
Если вы захотите сменить игру, с которой вы в данный момент работаете, тогда нажмите на кнопку в правом верхнем углу (Default game). Также вы можете вновь просканировать компьютер на наличие поддерживаемых NMM игр нажав на «Rescan Installed Games».
На главном экране присутствуют две основные закладки – «Mods» (Моды) и Plugins (плагины к модам).
Видео по установке и пользованию Nexus Mod Manager:
General variables
Если вы измените версию на более новую, то роль попытается обновить ваш установленный Nexus.
Если вы используете более старую версию Nexus, чем последняя, вы должны убедиться, что не используете функции, которые недоступны в установленном выпуске (например, размещенние yum репозиториев доступно для nexus больше чем 3.8.0, git lfs repo для nexus больше чем 3.3.0 и т. д.)
nexus timezone — это имя часового пояса Java, которое может быть полезно в сочетании с приведенными ниже выражениями cron для nexus_scheduled tasks.
Role Variables
Переменные со значениями по умолчанию (см. default/main.yml ):
Резервные копии
Резервное копирование не будет настроено, пока вы не переключите nexus_backup_configure в true .
В этом случае запланированная задача сценария будет настроена для запуска в Nexus
с интервалом, указанным в nexus_backup_cron (по умолчанию 21:00 каждый день).
См. [Шаблон groovy для этой задачи](templates / backup.groovy.j2) для получения подробной информации.
Это запланированное задание не зависит от других nexus_scheduled_tasks , которые вы
объявить в своем playbook.
Если вы хотите ротировать/удалять резервные копии, установите nexus_backup_rotate: true и настройте количество бекапов, которое вы хотели бы сохранить с помощью nexus_backup_keep_rotations (по умолчанию 4).
При использовании ротации, если вы хотите сэкономить дополнительное дисковое пространство во время процесса резервного копирования,
Вы можете установить nexus_backup_rotate_first: true . Это настроит предварительное ротирование/удаление перед бекапом. По умолчанию ротиция происходит после создания резервной копии. Обратите внимание, чем в этом случае старые резервные копии
удалятся до того, как текущий бекап будет сделан.
Процедура восстановления
Запустите playbook с параметром -e nexus_restore_point=
(например, 2017-12-17-21-00-00 для 17 декабря 2017 в 21:00
Удаление nexus
Предупреждение: это полностью удалит текущие данные. Обязательно сделайте резервную копию ранее, если это необходимо
Используйте переменную nexus_purge , если вам нужно перезапустить с нуля и переустановить экземпляр nexus с удалением всех данных.
Изменить пароль администратора после первой установки
Это не должно быть изменено в вашем playbook. Эта переменная заполняется стандартным паролем администратора Nexus при первой установке и гарантирует, что мы можем изменить пароль администратора на nexus_admin_password .
Если вы хотите изменить пароль администратора после первой установки, вы можете временно изменить его на старый пароль из командной строки. После изменения nexus_admin_password в вашей игровой книге вы можете запустить:
Sonatype Nexus — программный продукт, который представляет собой менеджер репозиториев для хранения артефактов. Поддерживаются такие форматы артефактов, как Maven, образы Docker, Python PyPI, RubyGems, npm, nuget, deb и другие. С полным списком поддерживаемых артефактов можно ознакомиться в официальной документации.
Установка будет произведена на операционной системе Ubuntu 20.04.04 LTS.
Установка Nexus при помощи Docker
Первым делом нужно установить Docker. Для этого необходимо воспользоваться инструкцией с официального сайта Docker в разделе установки на ОС Ubuntu.
После того как Docker будет установлен, надо создать директорию, где будут хранится данные Nexus:
Далее необходимо развернуть контейнер с nexus, пробросив порт 8081 наружу, и примонтировать ранее созданную директорию nexus-data:
Разворачивание контейнера займёт несколько минут.
Статус развертывания можно проверить с помощью команды:
Где — уникальный ID (номер) контейнера. Узнать его можно при помощи команды:
В данном случае ID контейнера — 1ce41c2632f6.
Контейнер будет запущен, когда в выводе команды docker logs появится строчка:
Started Sonatype Nexus OSS 3.38.1-01
В данном примере IP-адреса хоста — 192.168.92.139. Перейдем по данному IP и порту 8081 в браузере, чтобы убедиться, что веб-интерфейс Nexus работает:
Чтобы войти из-под учётной записи администратора с именем admin, необходимо получить пароль. Пароль можно получить из контейнера, выполнив команду:
Где вместо необходимо подставить ID контейнера с Nexus:
Далее внутри контейнера выполнить команду:
Файл внутри контейнера admin.password будет удален сразу после первого входа.
В веб-интерфейсе Nexus нужно перейти в раздел Sign-in (находится справа сверху) и авторизоваться:
При первом входе Nexus сразу же сообщит, что стандартный пароль необходимо изменить:
На этом установка Nexus завершена.
Создание домена и сертификатов
Для создания домена для хоста, где установлен Nexus, можно воспользоваться одним из нескольких сервисов, которые выдают доменные имена. В качестве примера будет использован сервис под названием Freenom. Одним из его главных преимуществ является то, что он позволяет зарегистрировать бесплатный домен второго уровня в одной из следующих зон: .tk, .ml, .ga, .cf, .gq, который будет действовать один год бесплатно. Также из преимуществ Freenom можно выделить переадресацию URL, предоставление бесплатного DNS-сервиса.
Для получения бесплатного домена необходимо перейти на сайт Freenom и на главной странице ввести имя желаемого домена. В последнее время на сайте проявляется ошибка, которая заключается в том, что доменное имя необходимо вводить сразу вместе с зоной.
Например, если нужен домен с именем my-nexus-repository, то в поле поиска необходимо ввести my-nexus-repository.tk. Вместо .tk можно использовать следующие доменные зоны: .ml, .ga, .cf, .gq. После этого потребуется нажать на кнопку «Проверить доступность»:
Если выбранное вами имя свободно, его можно получить бесплатно, нажав на зелёную кнопку «Оформить заказ»:
На следующем шаге нужно выбрать, в течение какого периода будет доступен выбранный вами домен. Бесплатно пользоваться доменом можно максимум 1 год с момента создания. Для выбора периода необходимо раскрыть меню Period и выбрать нужное значение:
После этого нажать на кнопку «Continue».
После авторизации необходимо перейти в меню Services, далее выбрать My Domains:
В открывшемся разделе будут находиться все ваши домены:
Следующий этап – добавление записей типа A и TXT. Для этого нажмите на Manage Domain справа от имени домена и в открывшемся окне перейдите в раздел Manage-Freenom DNS:
Необходимо добавить следующие записи:
Узнать внешний IP-адрес можно при помощи утилиты wget:
В итоге должны быть созданы следующие DNS записи:
Чтобы сохранить, необходимо нажать на кнопку «Save Changes».
Установка certbot и let’s encrypt
Следующий шаг – установка пакетов certbot и let’s encrypt.
Certbot — это ACME-клиент, который автоматически создаёт и устанавливает сертификаты, не требуя остановки или перезапуска web-сервера. Данный клиент рекомендует использовать сам let’s encrypt.
Для установки данных пакетов необходимо выполнить команду:
Далее нужно сгенерировать сертификаты для созданного домена. Для этого воспользуйтесь командой:
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
в терминале нужно ввести N и нажать на Enter:
Please deploy a DNS TXT record under the name
_acme-challenge.my-nexus-repository.tk with the following value:
необходимо, не нажимая клавишу «Enter», вернуться в панель регистрации DNS записей freenom и создать TXT запись для домена:
Вместо требуется вписать значение, которое выведет программа:
DNS запись должна выглядеть следующим образом:
Где вместо my-nexus-repository.tk необходимо вписать свой ранее созданный домен. После того как команда вернет ранее записанное значение из команды при генерации сертификатов, можно нажимать на клавишу «Enter».
В результате будут сгенерированы 4 файла c сертификатами, которые сохранятся в /etc/letsencrypt/live/. В данном случае домен называется my-nexus-repository.tk, поэтому сертификаты находятся по пути /etc/letsencrypt/live/my-nexus-repository.tk:
Настройка Nginx в качестве reverse proxy
Следующий этап – настройка веб-сервера Nginx в качестве обратного прокси.
Обратный прокси-сервер – это компьютер (или сервер), который обрабатывает запросы из сети интернет и перенаправляет их на компьютер(ы) внутренней сети.
Nginx так же, как и Nexus, будет развернут в контейнере Docker.
Для начала создаем директорию, в которой будут хранится все файлы:
Далее в данную директорию необходимо скопировать ранее сгенерированные сертификаты. В моем случае сертификаты находятся в директории /etc/letsencrypt/live/my-nexus-repository.tk, поэтому в данном случае команда будет выглядеть следующим образом:
Сразу после копирования сертификатов нужно выставить владельца и права на сами сертификаты. В качестве владельца будет задан текущий пользователь сессии, а права будут выставлены как 600 (только владелец файла может читать/записывать):
Далее создаем и сохраняем Dockerfile со следующим содержимым:
Также необходимо создать конфигурационный файл со следующими настройками для Nginx, который будет проброшен в контейнер:
Здесь необходимо внести следующие правки.
В директиве server в параметре client_max_body_size можно задать необходимый максимально допустимый размер тела запроса клиента. В контексте использования Nexus это будет применимо, если хранимые артефакты занимают много места. В данном примере указано 20 ГБ. Это означает, что загрузить артефакт более 20 ГБ не получится и Nginx вернет ошибку 413 Request Entity Too Large.
В директивах location / и location /v2/ в параметре proxy_set_header X-Forwarded-Proto необходимо прописать IP-адрес контейнера с Nexus.
Для того чтобы узнать IP адрес контейнера, нужно выполнить команду:
Где вместо требуется подставить ID контейнера с Nexus. Узнать ID контейнера можно при помощи команды docker ps:
IP-адрес будет находиться в параметре IPAddress.
После того как конфигурационный файл приведен к соответствующему виду, необходимо собрать образ контейнера Nginx, передав ему конфигурационный файл nginx:
Как только сборка контейнера будет завершена, можно запустить контейнер с Nginx с публикацией портов 8080 и 443:
Многие из заядлых любителей компьютерных игр знают, насколько преображает игру качественно созданный игровой мод. Улучшается детализация текстур, растёт игровой AI, появляются новые персонажи, увлекательность геймплея возрастает. При этом установка нового мода может быть сопряжена с целым уничтожения мелких проблем, потенциально способных свести на «нет» все преимущества данного мода. Тут-то нам на помощь и приходят специальные программы для установки модов, и на одной из них, под названием «Nexus Mod Manager» я остановлюсь в данном материале. В котором расскажу, что это за программа, как её установить, и как ею пользоваться на вашем ПК.
Настройка использование памяти Nexus JVM
Это настройки по умолчанию для Nexus. Пожалуйста, не изменяйте эти значения Если вы не прочитали раздел памяти системных требований nexus и не понимаете, что они делают.
Как второе предупреждение, вот выдержка из вышеупомянутого документа:
Не рекомендуется увеличивать память JVM heap больше рекомендуемых значений в попытке повысить производительность. Это на самом деле может иметь противоположный эффект, приводя к ненужной работе операционной системы.
Читайте также: