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:
-- mode: ruby --
vi: set ft=ruby :
All Vagrant configuration is done below. The "2" in Vagrant.configure
configures the configuration version (we support older styles for
backwards compatibility). Please don't change it unless you know what
you're doing.
Vagrant.configure("2") do |config|
The most common configuration options are documented and commented below.
For a complete reference, please see the online documentation at
https://docs.vagrantup.com.
#config.hostmanager.enabled=true#config.hostmanager.manage_host=true
Every Vagrant development environment requires a box. You can search for
boxes at https://vagrantcloud.com/search.
#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
Disable automatic box update checking. If you disable this, then
boxes will only be checked for updates when the user runs
vagrant box outdated
. This is not recommended.
config.vm.box_check_update = false
Create a forwarded port mapping which allows access to a specific port
within the machine from a port on the host machine. In the example below,
accessing "localhost:8080" will access port 80 on the guest machine.
NOTE: This will enable public access to the opened port
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/bashyum 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.gzsleep 10EXTOUT=tar xzvf nexus.tar.gz
NEXUSDIR=echo $EXTOUT | cut -d '/' -f1
sleep 5rm -rf /tmp/nexus/nexus.tar.gzcp -r /tmp/nexus/* /opt/nexus/sleep 5useradd nexuschown -R nexus.nexus /opt/nexuscat <> /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.rcsystemctl daemon-reloadsystemctl start nexussystemctl enable nexus
Once the installation is done my service is running:
● nexus.service - nexus serviceLoaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2024-05-16 11:05:44 UTC; 57s agoMain 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.