Installation · 6 min read · Nov 27, 2025
So installieren und konfigurieren Sie den Nexus Repository Manager auf Ubuntu 20.04

Nexus ist ein Repository-Manager, der eine Plattform bietet, die Ihren gesamten Softwareentwicklungszyklus schützt. Es ermöglicht Ihnen, Ihre Abhängigkeiten zu sammeln und zu verwalten und erleichtert die Verteilung Ihrer Software. Es ist eine einzige Quelle für alle Komponenten, Binärdateien und Build-Artefakte. Es bietet Unterstützung für Gradle, Ant, Maven und Ivy und ermöglicht Entwicklern, Komponenten über Binärdateien, Container, Assemblies und Fertigwaren zu verwalten. Sie können Nexus auch mit Ihren bestehenden Benutzer- und Authentifizierungssystemen wie LDAP und Atlassian Crowd integrieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie den Nexus Repository Manager auf Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Server, der Ubuntu 20.04 ausführt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
apt-get update -ySobald Ihr Server aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.
Java installieren
Nexus basiert auf Java, daher müssen Sie Java Version 8 auf Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install openjdk-8-jdk -ySobald Java installiert ist, können Sie die installierte Version von Java mit dem folgenden Befehl überprüfen:
java -versionSie sollten die folgende Ausgabe erhalten:
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)
Sobald Java installiert ist, können Sie mit dem nächsten Schritt fortfahren.
Nexus installieren
Bevor Sie beginnen, müssen Sie einen separaten Benutzer erstellen, um Nexus auszuführen. Sie können ihn erstellen, indem Sie den folgenden Befehl ausführen:
useradd -M -d /opt/nexus -s /bin/bash -r nexusAls Nächstes erlauben Sie dem Nexus-Benutzer, alle Benutzer mit sudo ohne Passwort auszuführen. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
echo "nexus ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nexusAls Nächstes erstellen Sie ein Verzeichnis für Nexus und laden die neueste Version von Nexus mit dem folgenden Befehl herunter:
mkdir /opt/nexus
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gzSobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei in das Verzeichnis /opt/nexus, indem Sie den folgenden Befehl ausführen:
tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1Als Nächstes setzen Sie die richtigen Berechtigungen für das Nexus-Verzeichnis, indem Sie den folgenden Befehl ausführen:
chown -R nexus:nexus /opt/nexusAls Nächstes bearbeiten Sie die Konfigurationsdatei nexus.vmoptions und definieren die maximale Speichergröße:
nano /opt/nexus/bin/nexus.vmoptionsSetzen Sie die maximale Java-Speichergröße und ersetzen Sie “../sonatype-work” durch “./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
Speichern Sie die Datei und schließen Sie sie, und bearbeiten Sie dann die Datei nexus.rc und definieren Sie den Benutzer, unter dem ausgeführt werden soll:
nano /opt/nexus/bin/nexus.rcKommentieren Sie die folgende Zeile aus und ändern Sie sie in den Nexus-Benutzer:
run_as_user="nexus"
Speichern Sie die Datei und schließen Sie sie, und starten Sie dann den Nexus-Dienst mit dem folgenden Befehl:
sudo -u nexus /opt/nexus/bin/nexus startÜberprüfen Sie als Nächstes den Nexus mit dem folgenden Befehl:
tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.logSie sollten die folgende Ausgabe erhalten:
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
-------------------------------------------------
An diesem Punkt ist Nexus gestartet und hört auf Port 8081. Sie können dies mit dem folgenden Befehl überprüfen:
ss -altnp | grep 8081Sie sollten die folgende Ausgabe erhalten:
LISTEN 0 50 0.0.0.0:8081 0.0.0.0:* users:(("java",pid=5548,fd=795))
Als Nächstes stoppen Sie den Nexus-Dienst mit dem folgenden Befehl:
/opt/nexus/bin/nexus stopErstellen Sie eine Systemd-Dienstdatei für Nexus
Als Nächstes müssen Sie eine Systemd-Dienstdatei erstellen, um den Nexus-Dienst zu verwalten. Sie können sie mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/nexus.serviceFügen Sie die folgenden Zeilen hinzu:
[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
Speichern Sie die Datei und schließen Sie sie, und laden Sie dann den Systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reloadStarten Sie als Nächstes den Nexus-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird, mit dem folgenden Befehl:
systemctl start nexus
systemctl enable nexusSie können auch den Status des Nexus-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status nexusSie sollten die folgende Ausgabe erhalten:
? 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)
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx als Reverse-Proxy für Nexus konfigurieren
Als Nächstes müssen Sie Nginx installieren und Nginx als Reverse-Proxy konfigurieren. Zuerst installieren Sie die Nginx-Pakete mit dem folgenden Befehl:
apt-get install nginx -ySobald Nginx installiert ist, erstellen Sie eine Nginx-virtuelle Hostkonfigurationsdatei mit dem folgenden Befehl:
nano /etc/nginx/conf.d/nexus.confFügen Sie die folgenden Zeilen hinzu:
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;
}
}
Speichern Sie die Datei und schließen Sie sie, und überprüfen Sie dann die Nginx-Konfigurationsdatei mit dem folgenden Befehl:
ginx -tSie sollten die folgende Ausgabe erhalten:
ginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
ginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich
Starten Sie schließlich den Nginx-Dienst neu, um die Änderungen anzuwenden:
systemctl restart nginxSie können auch den Status von Nginx mit dem folgenden Befehl überprüfen:
systemctl status nginxSie sollten die folgende Ausgabe erhalten:
? nginx.service - Ein leistungsstarker Webserver und ein 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: Masterprozess /usr/sbin/nginx -g daemon on; master_process on;
??7124 nginx: Arbeitsprozess
??7125 nginx: Arbeitsprozess
Feb 23 12:24:57 ubuntu2004 systemd[1]: Starting Ein leistungsstarker Webserver und ein Reverse-Proxy-Server...
Feb 23 12:24:57 ubuntu2004 systemd[1]: Started Ein leistungsstarker Webserver und ein Reverse-Proxy-Server.
Zugriff auf die Nexus-Weboberfläche
Bevor Sie auf die Nexus-Web-UI zugreifen, drucken Sie das Nexus-Admin-Passwort mit dem folgenden Befehl:
cat /opt/nexus/sonatype-work/nexus3/admin.passwordSie sollten die folgende Ausgabe erhalten:
b7c899cf-c6d3-4d11-a4cb-9a44e5d1787e
Öffnen Sie jetzt Ihren Webbrowser und greifen Sie auf die Nexus-Web-UI über die URL http://nexus.example.com zu. Sie werden auf die folgende Seite umgeleitet: 
Klicken Sie jetzt auf die Schaltfläche Anmelden. Sie werden zur Nexus-Anmeldeseite umgeleitet: 
Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten die Nexus-Setup-Seite sehen: 
Klicken Sie auf die Schaltfläche Weiter, um fortzufahren. Sie sollten die folgende Seite sehen: 
Legen Sie Ihr neues Passwort fest und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen: 
Wählen Sie die Option “Anonymer Zugriff aktivieren” und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen: 
Klicken Sie auf die Schaltfläche Fertigstellen, um die Einrichtung abzuschließen, und klicken Sie auf das Einstellungszahnrad-Symbol. Sie sollten das Nexus-Repository-Dashboard sehen: 
Fazit
Herzlichen Glückwunsch! Sie haben erfolgreich den Nexus Repository Manager mit Nginx als Reverse-Proxy auf dem Ubuntu 20.04-Server installiert. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.