Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux_faq:nexus_repo_setup [2019/10/29 11:47] – created adminlinux_faq:nexus_repo_setup [2019/10/29 11:59] (current) admin
Line 1: Line 1:
 +Nexus - универсальный репозиторий для пакетов и аретфактов. \\
 +\\
 +====== Setup Nexus on Ubuntu 18.04 ======
 +Устанавливаем **JVM** и **nginx**:
 +  sudo apt-get update && sudo apt-get upgrade && sudo apt-get -y install openjdk-8-jre nginx
 +Создаем пользователя, от имени которого будет работать **Nexus**:
 +  sudo useradd -M -r -s /dev/null nexus
 +Создаем директорию, где будет лежать **Nexus**:
 +  sudo mkdir /opt/nexus
 +Скачиваем **Nexus** (возможно лучше скачать с сайта)
 +  wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.19.1-01-unix.tar.gz
 +Переносим в нее архив и распаковываем:
 +  sudo mv ./nexus-3.19.1-01-unix.tar.gz /opt/nexus/
 +  cd /opt/nexus
 +  sudo tar -xvf ./nexus-3.19.1-01-unix.tar.gz
 +Указываем в конфигурации Nexus от имени какого пользователя он будет работать:
 +  echo 'run_as_user="nexus"' > /opt/nexus/nexus-3.19.1-01/bin/nexus.rc
 +даем права пользователю **nexus** на файлы в папках:
 +  sudo chown nexus:nexus /opt/nexus/ -R
 +Создаем файл для запуска **Nexus** как сервиса:
 +<code>cat <<EOF | sudo tee /lib/systemd/system/nexus.service
 +[Unit]
 +Description=nexus service
 +After=network.target
 +  
 +[Service]
 +Type=forking
 +LimitNOFILE=65536
 +ExecStart=/opt/nexus/nexus-3.19.1-01/bin/nexus start
 +ExecStop=/opt/nexus/nexus-3.19.1-01/bin/nexus stop
 +User=nexus
 +Restart=on-abort
 +  
 +[Install]
 +WantedBy=multi-user.target
 +EOF</code>
 +
 +Включаем и стартуем сервис:
 +  sudo systemctl daemon-reload
 +  sudo systemctl enable nexus.service
 +  sudo systemctl start nexus.service
 +  sudo systemctl status nexus.service
 +
 +Создаем конфигурацию сайта в **nginx**:
 +<code>cat <<EOF | sudo tee ls /etc/nginx/sites-available/default
 +  server {
 +    listen   *:80;
 +    #server_name  www.example.com;
 +
 +    # allow large uploads of files
 +    client_max_body_size 1G;
 +
 +    # optimize downloading files larger than 1G
 +    #proxy_max_temp_file_size 2G;
 +
 +    location / {
 +      # Use IPv4 upstream address instead of DNS name to avoid attempts by nginx to use IPv6 DNS lookup
 +      proxy_pass http://127.0.0.1:8081/;
 +      proxy_set_header Host \$host;
 +      proxy_set_header X-Real-IP \$remote_addr;
 +      proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 +    }
 +  }
 +EOF
 +</code>
 +И перезагружаем конфигурацию **nginx**:
 +  sudo service nginx reload
  
  • linux_faq/nexus_repo_setup.txt
  • Last modified: 2019/10/29 11:59
  • by admin