🖥️
Horvitz
Обо мне
  • Содержание
  • DevOps
    • Docker и Docker Compose
    • Ansible
    • Terraform
  • WEB
    • Nginx
  • Linux
    • Удобный терминал
    • IPtables
  • windows
    • Winget
  • VCS
    • Шпаргалка Git
    • Установка и настройка Gitlab EE
    • Установка и настройка Gitlab Runner
  • Мониторинг
    • Grafana
  • Артефакты
    • Nexus Sonatype
Powered by GitBook
On this page
  • 1. Загрузка Nexus
  • 1.1 Скачайте последнюю версию Nexus Repository Manager с официального сайта Sonatype:
  • 1.2 Распакуйте архив:
  • 1.3 Переименуйте дирикторию
  • 2. Настройка пользователя и прав
  • 1.1 Создайте пользователя nexus (для Linux):
  • 2.2 Установите права на директории:
  • 3. Конфигурация
  • 3.1 Настройте системного сервиса
  • 3.2 Создайте файл со следующим содержимым /opt/nexus.secrets.json
  • 3.3 Настройте nexus-default.properties
  • 4. Запуск сервиса
  • 4.1 Запустите Nexus:
  • 4.2 Включите автозапуск:
  • 4.3 Проверьте статус сервиса:
  • 4.4 Проверьте логи:
  • 5. Первоначальная настройка
  • 6. Настройка обратного прокси
  • 6.1 Установка и запуск Nginx
  • 6.2 Создание файла конфигурации /etc/nginx/sites-available/nexus.conf
  • 6.3 Создание символичиской ссылки для "активации"
  • 6.4 Проверка конфига и перезапуск nginx

Was this helpful?

Edit on GitHub
  1. Артефакты

Nexus Sonatype

Nexus Sonatype - это инструмент для управления репозиториями, используемый для хранения, проксирования и управления артефактами (библиотеки, зависимости, Docker-образы и т.д.) в процессе разработки ПО

1. Загрузка Nexus

1.1 Скачайте последнюю версию Nexus Repository Manager с официального сайта Sonatype:

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

1.2 Распакуйте архив:

sudo tar -xvf latest-unix.tar.gz

1.3 Переименуйте дирикторию

cd /opt
sudo mv nexus-3.x.x nexus

2. Настройка пользователя и прав

1.1 Создайте пользователя nexus (для Linux):

sudo useradd nexus

2.2 Установите права на директории:

sudo chown -R nexus:nexus nexus
sudo chown -R nexus:nexus sonatype-work

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

3.1 Настройте системного сервиса

Создайте файл /etc/systemd/system/nexus.service:

[Unit]
Description=Nexus Repository Manager
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

Перезагрузите конфиги "демонов"

sudo systemctl daemon-reload

3.2 Создайте файл со следующим содержимым /opt/nexus.secrets.json

{
  "active": "nexus",
  "keys": [
    {
      "id": "nexus",
      "key": "secret-key"
    }
  ]
}

3.3 Настройте nexus-default.properties

# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature
nexus.secrets.file=/opt/nexus.secrets.json

4. Запуск сервиса

4.1 Запустите Nexus:

sudo systemctl start nexus.service

4.2 Включите автозапуск:

sudo systemctl enable nexus.service

4.3 Проверьте статус сервиса:

sudo systemctl status nexus.service

4.4 Проверьте логи:

tail -f /opt/sonatype-work/nexus3/log/nexus.log

5. Первоначальная настройка

  1. Откройте веб-интерфейс по адресу http://localhost:8081

  2. Войдите с учетными данными по умолчанию:

    • Пользователь: admin

    • Пароль: находится в файле /opt/sonatype-work/nexus3/admin.password

6. Настройка обратного прокси

6.1 Установка и запуск Nginx

Установка пакета

sudo apt install nginx

Запуск и активация службы

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Проверка статуса сервиса:

sudo systemctl status nginx.service

6.2 Создание файла конфигурации /etc/nginx/sites-available/nexus.conf

server {
    listen 443 ssl;
    server_name <домен>;

    ssl_certificate /path/to/cert;
    ssl_certificate_key /path/to/key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    client_max_body_size 10000M;

    location / {
        proxy_pass http://localhost:8081/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port 443;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect http:// https://;
    }
}

server {
    listen 80;
    server_name <домен>;
    return 301 https://$host$request_uri;
}

6.3 Создание символичиской ссылки для "активации"

ln -s /etc/nginx/sites-availble/nexus.conf /etc/nginx/sites-enable

6.4 Проверка конфига и перезапуск nginx

Для проверки:

sudo nginx -t

Для презагрузки конфигурации

sudo nginx -s reload

или

sudo systemctl reload nginx.service
PreviousGrafana

Last updated 4 months ago

Was this helpful?