Nexus Installation · 7 min read · Nov 27, 2025
Cómo instalar y configurar Nexus Repository Manager en Ubuntu 20.04

Nexus es un gestor de repositorios que proporciona una plataforma que protege todo su ciclo de vida de desarrollo de software. Le permite recopilar y gestionar sus dependencias y facilita la distribución de su software. Es una única fuente de todos los componentes, binarios y artefactos de construcción. Proporciona soporte para Gradle, Ant, Maven e Ivy, y permite a los desarrolladores gestionar componentes a través de binarios, contenedores, ensamblajes y productos terminados. También puede integrar Nexus con sus sistemas de usuario y autenticación existentes como LDAP y Atlassian Crowd.
En este tutorial, le mostraremos cómo instalar el gestor de repositorios Nexus en Ubuntu 20.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 20.04.
- Una contraseña de root configurada en el servidor.
Comenzando
Antes de comenzar, necesitará actualizar los paquetes de su sistema a la última versión. Puede actualizarlos utilizando el siguiente comando:
apt-get update -yUna vez que su servidor esté actualizado, puede proceder al siguiente paso.
Instalar Java
Nexus se basa en Java, por lo que necesitará instalar la versión 8 de Java en su sistema. Puede instalarlo con el siguiente comando:
apt-get install openjdk-8-jdk -yUna vez que Java esté instalado, puede verificar la versión instalada de Java con el siguiente comando:
java -versionDebería obtener la siguiente salida:
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)
Una vez que Java esté instalado, puede proceder al siguiente paso.
Instalar Nexus
Antes de comenzar, necesitará crear un usuario separado para ejecutar Nexus. Puede crearlo ejecutando el siguiente comando:
useradd -M -d /opt/nexus -s /bin/bash -r nexusA continuación, permita que el usuario nexus ejecute todos los comandos con sudo sin ninguna contraseña. Puede hacerlo ejecutando el siguiente comando:
echo "nexus ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nexusA continuación, cree un directorio para Nexus y descargue la última versión de Nexus con el siguiente comando:
mkdir /opt/nexus
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gzUna vez que se complete la descarga, extraiga el archivo descargado en el directorio /opt/nexus ejecutando el siguiente comando:
tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1A continuación, establezca la propiedad adecuada para el directorio nexus ejecutando el siguiente comando:
chown -R nexus:nexus /opt/nexusA continuación, edite el archivo de configuración nexus.vmoptions y defina el tamaño máximo de memoria:
nano /opt/nexus/bin/nexus.vmoptionsEstablezca el tamaño máximo de memoria de Java y reemplace “../sonatype-work” con “./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
Guarde y cierre el archivo, luego edite el archivo nexus.rc y defina el usuario que ejecutará:
nano /opt/nexus/bin/nexus.rcDescomente y cambie la siguiente línea con el usuario nexus:
run_as_user="nexus"
Guarde y cierre el archivo, luego inicie el servicio Nexus con el siguiente comando:
sudo -u nexus /opt/nexus/bin/nexus startA continuación, verifique Nexus con el siguiente comando:
tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.logDebería obtener la siguiente salida:
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
-------------------------------------------------
En este punto, Nexus está iniciado y escuchando en el puerto 8081. Puede comprobarlo con el siguiente comando:
ss -altnp | grep 8081Debería obtener la siguiente salida:
LISTEN 0 50 0.0.0.0:8081 0.0.0.0:* users:(("java",pid=5548,fd=795))
A continuación, detenga el servicio Nexus con el siguiente comando:
/opt/nexus/bin/nexus stopCrear un archivo de servicio Systemd para Nexus
A continuación, necesitará crear un archivo de servicio systemd para gestionar el servicio Nexus. Puede crearlo con el siguiente comando:
nano /etc/systemd/system/nexus.serviceAgregue las siguientes líneas:
[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
Guarde y cierre el archivo, luego recargue el demonio systemd con el siguiente comando:
systemctl daemon-reloadA continuación, inicie el servicio Nexus y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start nexus
systemctl enable nexusTambién puede verificar el estado del servicio Nexus utilizando el siguiente comando:
systemctl status nexusDebería obtener la siguiente salida:
? 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)
Una vez que haya terminado, puede proceder al siguiente paso.
Configurar Nginx como un proxy inverso para Nexus
A continuación, necesitará instalar Nginx y configurar Nginx como un proxy inverso. Primero, instale los paquetes de Nginx con el siguiente comando:
apt-get install nginx -yUna vez que Nginx esté instalado, cree un archivo de configuración de host virtual de Nginx con el siguiente comando:
nano /etc/nginx/conf.d/nexus.confAgregue las siguientes líneas:
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;
}
}
Guarde y cierre el archivo, luego verifique el archivo de configuración de Nginx con el siguiente comando:
ginx -tDebería obtener la siguiente salida:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginxTambién puede verificar el estado de Nginx con el siguiente comando:
systemctl status nginxDebería obtener la siguiente salida:
? nginx.service - A high performance web server and a reverse proxy server
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 A high performance web server and a reverse proxy server...
Feb 23 12:24:57 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Acceder a la interfaz web de Nexus
Antes de acceder a la interfaz web de Nexus, imprima la contraseña de administrador de Nexus con el siguiente comando:
cat /opt/nexus/sonatype-work/nexus3/admin.passwordDebería obtener la siguiente salida:
b7c899cf-c6d3-4d11-a4cb-9a44e5d1787e
Ahora, abra su navegador web y acceda a la interfaz web de Nexus utilizando la URL http://nexus.example.com. Será redirigido a la siguiente página:

Ahora, haga clic en el botón Iniciar sesión. Será redirigido a la página de inicio de sesión de Nexus:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón Iniciar sesión. Debería ver la página de configuración de Nexus:

Haga clic en el botón Siguiente para continuar. Debería ver la siguiente página:

Establezca su nueva contraseña y haga clic en el botón Siguiente. Debería ver la siguiente página:

Seleccione la opción “Habilitar acceso anónimo” y haga clic en el botón Siguiente. Debería ver la siguiente página:

Haga clic en el botón Finalizar para completar la configuración y haga clic en el ícono de Configuración. Debería ver el panel de control del repositorio Nexus:

Conclusión
¡Felicidades! ha instalado con éxito el gestor de repositorios Nexus con Nginx como proxy inverso en el servidor Ubuntu 20.04. No dude en preguntarme si tiene alguna pregunta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.