I have installed centos 7 via vagrant file. I have installed nexus on the centos VM. The service is running in centos, but nexus welcome page is not opening in browser. Kindly help.
My vagrant file is as follows:
Vagrant.configure("2") do |config|
#config.hostmanager.enabled=true #config.hostmanager.manage_host=true
#config.vm.box = "generic/centos7"
nexus 3 VM config.vm.define "nexus3" do |nexus3| nexus3.vm.box = "generic/centos7" nexus3.vm.hostname = "nexus3" nexus3.vm.network "private_network", ip: "192.168.33.20"
nexus3.vm.provider "virtualbox" do |vb| vb.memory = "1024" #end end
config.vm.box_check_update = false
config.vm.network "forwarded_port", guest: 80, host: 8080 Create a forwarded port mapping which allows access to a specific port within the machine from a port on the host machine and only allow access via 127.0.0.1 to disable public access #config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
Create a private network, which allows host-only access to the machine using a specific IP. config.vm.network "private_network", ip: "192.168.33.10" Create a public network, which generally matched to bridged network. Bridged networks make the machine appear as another physical device on your network. config.vm.network "public_network" Share an additional folder to the guest VM. The first argument is the path on the host to the actual folder. The second argument is the path on the guest to mount the folder. And the optional third argument is a set of non-required options. config.vm.synced_folder "../data", "/vagrant_data" Disable the default share of the current code directory. Doing this provides improved isolation between the vagrant box and your host by making sure your Vagrantfile isn't accessable to the vagrant box. If you use this you may want to enable additional shared subfolders as shown above. config.vm.synced_folder ".", "/vagrant", disabled: true Provider-specific configuration so you can fine-tune various backing providers for Vagrant. These expose provider-specific options. Example for VirtualBox: config.vm.provider "virtualbox" do |vb|
Display the VirtualBox GUI when booting the machine
vb.gui = true
Customize the amount of memory on the VM:
vb.memory = "1024" end View the documentation for the provider you are using for more information on available options. Enable provisioning with a shell script. Additional provisioners such as Ansible, Chef, Docker, Puppet and Salt are also available. Please see the documentation for more information about their specific syntax and use. config.vm.provision "shell", inline: <<-SHELL apt-get update apt-get install -y apache2 SHELL end
The script I used to install nexus is as follows:
#!/bin/bash yum install java-1.8.0-openjdk.x86_64 wget -y mkdir -p /opt/nexus/ mkdir -p /tmp/nexus/ cd /tmp/nexus/ NEXUSURL="https://download.sonatype.com/nexus/3/latest-unix.tar.gz" wget $NEXUSURL -O nexus.tar.gz sleep 10 EXTOUT=tar xzvf nexus.tar.gz NEXUSDIR=echo $EXTOUT | cut -d '/' -f1 sleep 5 rm -rf /tmp/nexus/nexus.tar.gz cp -r /tmp/nexus/* /opt/nexus/ sleep 5 useradd nexus chown -R nexus.nexus /opt/nexus cat <> /etc/systemd/system/nexus.service [Unit] Description=nexus service After=network.target
[Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/$NEXUSDIR/bin/nexus start ExecStop=/opt/nexus/$NEXUSDIR/bin/nexus stop User=nexus Restart=on-abort
[Install] WantedBy=multi-user.target
EOT
echo 'run_as_user="nexus"' > /opt/nexus/$NEXUSDIR/bin/nexus.rc systemctl daemon-reload systemctl start nexus systemctl enable nexus
Once the installation is done my service is running:
● nexus.service - nexus service Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2024-05-16 11:05:44 UTC; 57s ago Main PID: 3550 (java) CGroup: /system.slice/nexus.service └─3550 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/...
However when I type 192.168.33.20:8081 or 192.168.33.20:8080 I get "This site can’t be reached" error. Where am I going wrong?
Please help.