Instalação Nexus · 7 min read · Nov 27, 2025

Como Instalar e Configurar o Nexus Repository Manager no Ubuntu 20.04

Nexus é um gerenciador de repositórios que fornece uma plataforma que protege todo o seu ciclo de vida de desenvolvimento de software. Ele permite que você colete e gerencie suas dependências e facilita a distribuição do seu software. É uma única fonte de todos os componentes, binários e artefatos de construção. Ele oferece suporte para Gradle, Ant, Maven e Ivy, e permite que os desenvolvedores gerenciem componentes através de binários, contêineres, montagens e produtos acabados. Você também pode integrar o Nexus com seus sistemas de usuários e autenticação existentes, como LDAP e Atlassian Crowd.

Neste tutorial, mostraremos como instalar o gerenciador de repositórios Nexus no Ubuntu 20.04.

Pré-requisitos

  • Um servidor rodando Ubuntu 20.04.
  • Uma senha de root configurada no servidor.

Começando

Antes de começar, você precisará atualizar os pacotes do seu sistema para a versão mais recente. Você pode atualizá-los usando o seguinte comando:

apt-get update -y

Uma vez que seu servidor esteja atualizado, você pode prosseguir para o próximo passo.

Instalar Java

O Nexus é baseado em Java, então você precisará instalar a versão 8 do Java em seu sistema. Você pode instalá-lo com o seguinte comando:

apt-get install openjdk-8-jdk -y

Uma vez que o Java esteja instalado, você pode verificar a versão instalada do Java com o seguinte comando:

java -version

Você deve obter a seguinte saída:

openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

Uma vez que o Java esteja instalado, você pode prosseguir para o próximo passo.

Instalar Nexus

Antes de começar, você precisará criar um usuário separado para executar o Nexus. Você pode criá-lo executando o seguinte comando:

useradd -M -d /opt/nexus -s /bin/bash -r nexus

Em seguida, permita que o usuário nexus execute todos os comandos com sudo sem senha. Você pode fazer isso executando o seguinte comando:

echo "nexus ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nexus

Em seguida, crie um diretório para o Nexus e baixe a versão mais recente do Nexus com o seguinte comando:

mkdir /opt/nexus  
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gz

Uma vez que o download esteja completo, extraia o arquivo baixado para o diretório /opt/nexus executando o seguinte comando:

tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1

Em seguida, defina a propriedade correta para o diretório nexus executando o seguinte comando:

chown -R nexus:nexus /opt/nexus

Em seguida, edite o arquivo de configuração nexus.vmoptions e defina o tamanho máximo da memória:

nano /opt/nexus/bin/nexus.vmoptions

Defina o tamanho máximo da memória do Java e substitua “../sonatype-work” por “./sonatype-work”:

-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m

-XX:LogFile=./sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=/etc/karaf/java.util.logging.properties
-Dkaraf.data=./sonatype-work/nexus3
-Dkaraf.log=./sonatype-work/nexus3/log
-Djava.io.tmpdir=./sonatype-work/nexus3/tmp

Salve e feche o arquivo, em seguida, edite o arquivo nexus.rc e defina o usuário que executará:

nano /opt/nexus/bin/nexus.rc

Descomente e altere a seguinte linha para o usuário nexus:

run_as_user="nexus"

Salve e feche o arquivo, em seguida, inicie o serviço Nexus com o seguinte comando:

sudo -u nexus /opt/nexus/bin/nexus start

Em seguida, verifique o Nexus com o seguinte comando:

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

Você deve obter a seguinte saída:

2021-02-23 12:20:51,839+0000 INFO  [jetty-main-1]  *SYSTEM com.softwarementors.extjs.djn.servlet.DirectJNgineServlet - Servlet GLOBAL configuration: registryConfiguratorClass=
2021-02-23 12:20:51,853+0000 INFO  [jetty-main-1]  *SYSTEM com.softwarementors.extjs.djn.jscodegen.CodeFileGenerator - Creating source files for APIs...
2021-02-23 12:20:52,582+0000 INFO  [jetty-main-1]  *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - JAX-RS RuntimeDelegate: org.sonatype.nexus.siesta.internal.resteasy.SisuResteasyProviderFactory@649a69ca
2021-02-23 12:20:52,611+0000 INFO  [jetty-main-1]  *SYSTEM org.jboss.resteasy.plugins.validation.i18n - RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
2021-02-23 12:20:53,811+0000 INFO  [jetty-main-1]  *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - Initialized
2021-02-23 12:20:53,817+0000 INFO  [jetty-main-1]  *SYSTEM org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Initialized
2021-02-23 12:20:53,852+0000 INFO  [jetty-main-1]  *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@7a65358d{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE}
2021-02-23 12:20:53,883+0000 INFO  [jetty-main-1]  *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@764a4935{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2021-02-23 12:20:53,884+0000 INFO  [jetty-main-1]  *SYSTEM org.eclipse.jetty.server.Server - Started @37529ms
2021-02-23 12:20:53,884+0000 INFO  [jetty-main-1]  *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - 
-------------------------------------------------

Started Sonatype Nexus OSS 3.29.2-02

-------------------------------------------------

Neste ponto, o Nexus está iniciado e escutando na porta 8081. Você pode verificar com o seguinte comando:

ss -altnp | grep 8081

Você deve obter a seguinte saída:

LISTEN    0         50                 0.0.0.0:8081             0.0.0.0:*        users:(("java",pid=5548,fd=795)) 

Em seguida, pare o serviço Nexus com o seguinte comando:

/opt/nexus/bin/nexus stop

Criar um Arquivo de Serviço Systemd para o Nexus

Em seguida, você precisará criar um arquivo de serviço systemd para gerenciar o serviço Nexus. Você pode criá-lo com o seguinte comando:

nano /etc/systemd/system/nexus.service

Adicione as seguintes linhas:

[Unit]
Description=nexus service
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

Salve e feche o arquivo, em seguida, recarregue o daemon systemd com o seguinte comando:

systemctl daemon-reload

Em seguida, inicie o serviço Nexus e habilite-o para iniciar na reinicialização do sistema com o seguinte comando:

systemctl start nexus  
systemctl enable nexus

Você também pode verificar o status do serviço Nexus usando o seguinte comando:

systemctl status nexus

Você deve obter a seguinte saída:

? nexus.service - nexus service
     Loaded: loaded (/etc/systemd/system/nexus.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-02-23 12:22:49 UTC; 15s ago
    Process: 6181 ExecStart=/opt/nexus/bin/nexus start (code=exited, status=0/SUCCESS)
   Main PID: 6368 (java)
      Tasks: 40 (limit: 4691)
     Memory: 642.9M
     CGroup: /system.slice/nexus.service
             ??6368 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.mo>

Feb 23 12:22:49 ubuntu2004 systemd[1]: Starting nexus service...
Feb 23 12:22:49 ubuntu2004 nexus[6181]: Starting nexus
Feb 23 12:22:49 ubuntu2004 systemd[1]: Started nexus service.
lines 1-13/13 (END)

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Configurar Nginx como um Proxy Reverso para o Nexus

Em seguida, você precisará instalar o Nginx e configurar o Nginx como um proxy reverso. Primeiro, instale os pacotes do Nginx com o seguinte comando:

apt-get install nginx -y

Uma vez que o Nginx esteja instalado, crie um arquivo de configuração de host virtual do Nginx com o seguinte comando:

nano /etc/nginx/conf.d/nexus.conf

Adicione as seguintes linhas:

upstream backend {
  server 127.0.0.1:8081;
}

server {
    listen 80;
    server_name nexus.example.com;

    location / {
        proxy_pass http://backend/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }
}

Salve e feche o arquivo, em seguida, verifique o arquivo de configuração do Nginx com o seguinte comando:

ginx -t

Você deve obter a seguinte saída:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie o serviço Nginx para aplicar as alterações:

systemctl restart nginx

Você também pode verificar o status do Nginx com o seguinte comando:

systemctl status nginx

Você deve obter a seguinte saída:

? nginx.service - Um servidor web de alto desempenho e um servidor proxy reverso
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-02-23 12:24:57 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 7106 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 7107 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 7123 (nginx)
      Tasks: 3 (limit: 4691)
     Memory: 3.5M
     CGroup: /system.slice/nginx.service
             ??7123 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??7124 nginx: worker process
             ??7125 nginx: worker process

Feb 23 12:24:57 ubuntu2004 systemd[1]: Starting Um servidor web de alto desempenho e um servidor proxy reverso...
Feb 23 12:24:57 ubuntu2004 systemd[1]: Started Um servidor web de alto desempenho e um servidor proxy reverso.

Acessar a Interface Web do Nexus

Antes de acessar a interface web do Nexus, imprima a senha do administrador do Nexus com o seguinte comando:

cat /opt/nexus/sonatype-work/nexus3/admin.password

Você deve obter a seguinte saída:

b7c899cf-c6d3-4d11-a4cb-9a44e5d1787e

Agora, abra seu navegador e acesse a interface web do Nexus usando a URL http://nexus.example.com. Você será redirecionado para a seguinte página:

Nexus GUI

Agora, clique no botão Entrar. Você será redirecionado para a página de login do Nexus:

Login

Forneça seu nome de usuário e senha de administrador e clique no botão Entrar. Você deve ver a página de configuração do Nexus:

Assistente de configuração

Clique no botão Próximo para continuar. Você deve ver a seguinte página:

Definir nova senha

Defina sua nova senha e clique no botão Próximo. Você deve ver a seguinte página:

Configurar acesso anônimo

Selecione a opção “Habilitar acesso anônimo” e clique no botão Próximo. Você deve ver a seguinte página:

Configuração concluída

Clique no botão Finalizar para completar a configuração e clique no ícone de Configurações. Você deve ver o painel do repositório Nexus:

Painel do Gerenciador de Repositórios Nexus

Conclusão

Parabéns! você instalou com sucesso o gerenciador de repositórios Nexus com o Nginx como um proxy reverso no servidor Ubuntu 20.04. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.