我正试图在GCP中的Ubuntu虚拟机实例上安装Nexus。
我对GCP和Ubuntu都很陌生,并遵循本教程实现了同样的目标:
- 安装Java:
sudo apt-get update
sudo apt install openjdk-8-jdk openjdk-8-jre
- 下载、提取和安装Nexus:
$ cd /opt
$ sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
$ sudo tar -zxvf latest-unix.tar.gz
$ sudo mv /opt/latest-unix.tar.gz /opt/nexus
- 创建Nexus用户:
$ sudo adduser soumav
- 授予Nexus用户权限(soumav)
$ sudo chown -R soumav:soumav /opt/nexus
$ sudo chown -R soumav:soumav /opt/sonatype-work
$ sudo vim /opt/nexus/bin/nexus.rc
- 修改内存设置:
$ sudo vim /opt/nexus/bin/nexus.vmoptions
- 配置Nexus作为服务运行
sudo vim /etc/systemd/system/nexus.service
并复制以下内容:
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
User=soumav
Group=soumav
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=soumav
Restart=on-abort
[Install]
WantedBy=multi-user.target
- 启动Nexus
$ sudo systemctl enable nexus
$ sudo systemctl start nexus
$ sudo systemctl status nexus
但是,我有一对步骤的问题:
在步骤'4'中,执行以下命令:
$ sudo vim /opt/nexus/bin/nexus.rc
时,我得到一个/opt/nexus/bin/neuxus.rc"[权限被拒绝]。我能够克服这一点,并能够编辑next.rc文件以及通过cd到bin目录的next.vmoptions。在步骤'6'中,当我执行
$ sudo systemctl enable nexus
并发布尝试启动服务:$ sudo systemctl start nexus
,我得到a($ tail -f /opt/sonatype-work/nexus3/log/nexus.log
):Jul 29 17:16:26 nexus systemd[5832]: nexus.service: Failed to execute command: Not a directory Jul 29 17:16:26 nexus systemd[5832]: nexus.service: Failed at step EXEC spawning /opt/nexus/bin/nexus: Not a directory
我哪里出错了?
您的错误出现在步骤#2。最后一个命令将压缩文件而不是未压缩文件夹移动到/opt/nexus
。这就是你错误的原因:
Jul 29 17:16:26 nexus systemd[5832]: nexus.service: Failed at step EXEC spawning /opt/nexus/bin/nexus: Not a directory
步骤#2的正确命令应该如下所示:
$ cd /opt
$ sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
$ sudo tar -zxvf latest-unix.tar.gz
$ sudo mv /opt/nexus-3.32.0-03 /opt/nexus
一旦你将正确的未压缩文件夹移动到正确的文件夹,你可以按照教程