How To Install Latest Sonatype Nexus 3 On Linux

How to Install Nexus 3 (Featured)

How to Install Nexus 3 (1)

Sonatype Nexus is one of the best repository managers out there. It is some tool that you cannot avoid in your CI/CD pipeline. It effectively manages deployable artifacts.

Sonatype Nexus 3 On Linux Ec2

This article guides you to install and configure Sonatype Nexus 3 in a secure way on an ec2 Linux System.

Note: This was tested on a Redhat 7 machine and it will work on Centos 7 as well.

Step 1: Login to your Linux server and update it.

sudo yum update -y

Step 2: Install OpenJDK 1.8

sudo yum install java-1.8.0-openjdk.x86_64

Step 3: Create a directory named app and cd into the directory.

sudo mkdir /app && cd /app

Step 4: Download the latest nexus. You can get the latest download links fo for nexus from here. Here I am downloading nexus 3.

sudo wget

Untar the downloaded file.

sudo tar -xvf nexus-3.0.2-02-unix.tar.gz

Rename the untared file to nexus.

sudo mv nexus-3.0.2-02 nexus

Step 5: As a good security practice, it is not advised to run nexus service with any sudo user. So create a new user named nexus.

sudo adduser nexus

Change the ownership of nexus file to nexus user.

sudo chown -R nexus:nexus /app/nexus

Open /app/nexus/bin/nexus.rc file, uncomment run_as_user parameter and set it as following.


Step 6: If you want to change the default nexus data directory, open nexus properties file and change the data directory “” parameter to a preferred location as shown below.

sudo vi /app/nexus/bin/nexus.vmoptions

An example configuration is shown below.










Running Nexus As A Service

It is better to have a init.d entry to manage nexus service using the Linux service command. Follow the steps given below for the setup.

Step 1: Create a symbolic link for nexus service script to /etc/init.d folder.

sudo ln -s /app/nexus/bin/nexus /etc/init.d/nexus

Step 2: Execute the following commands to add nexus service to boot.

sudo chkconfig --add nexus

sudo chkconfig --levels 345 nexus on

Manage Nexus Service

Now we have all the configurations in place. To start the Nexus service, use the following command.

sudo service nexus start

The above command will start the nexus service on port 8081. To access the nexus dashboard, visit http://:8081. You will be able to see the nexus homepage as shown below.

How to Install Nexus 3 (2)

To log in, use the default username and password.

User Name: admin

Password: admin123

For stopping,

sudo service nexus stop

For restarting,

sudo service nexus restart


This article was originally published by Bibin Wilson on 

The following two tabs change content below.
An author, blogger at devopscube and DevOps practitioner. In spare time, he loves to try out the latest open source technologies. He works as a DevOps consultant for a leading IT services company Xebia IT Architects.

Latest posts by Bibin Wilson (see all)


Related posts


  1. Manfred Moser said:

    And here I am thinking that OpenJDK is not officially supported for Nexus

  2. Mark Allison said:

    Nice guid Bibin. If I want to keep nexus up to date with the latest stable build, what would be the best way to do that? Shame there’s no package in yum for it.

  3. rajush said:

    I am getting below error while starting the service

    -bash: /application/nexus/bin/nexus: Permission denied could you please help

    • Pierre said:

      Check if the owner of the data directory is nexus:nexus.
      If not, just chown -R /configured/data/dir

  4. Patrick said:


    i’ve setting it up on debian 8, but when i use “nexus start” i get:

    at java.util.LinkedList.removeFirst(
    at com.exe4j.runtime.util.ArgumentStack.popString(
    at com.install4j.runtime.launcher.UnixLauncher.main(
    Exception in thread “main” java.awt.HeadlessException:
    No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(
    at java.awt.Button.(
    at com.exe4j.runtime.util.MessageBox.addChoice(
    at com.exe4j.runtime.util.MessageBox.addChoice(
    at com.install4j.runtime.launcher.ErrorHandler.displayGuiErrorMessage(
    at com.install4j.runtime.launcher.ErrorHandler.reportError(
    at com.install4j.runtime.launcher.UnixLauncher.main(

    Any idea?