本次安装以 nexus-3.35.0-02-unix.tar.gz 进行说明,老版本 nexus-3.4.0-02-unix.tar.gz 的安装说明可以查看《CentOS 7.5 环境下搭建私有Maven仓库Nexus实录》。
1. 安装环境
分别使用 nexus-3.4.0-02-unix.tar.gz 和 nexus-3.35.0-02-unix.tar.gz 在JDK11环境下安装启动,报错信息如下:
# nexus-3.4.0-02-unix.tar.gz [root@aliyun ~]# service nexus start No suitable Java Virtual Machine could be found on your system. The version of the JVM must be at least 1.8 and at most 1.8. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM. # nexus-3.35.0-02-unix.tar.gz [root@aliyun ~]# service nexus start No suitable Java Virtual Machine could be found on your system. The version of the JVM must be 1.8. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
❗️❗️❗️ 特别注意 :Nexus需要使用的JDK版本为1.8。
[root@tcloud ~]# java -version java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
2. 安装、配置、启动
2.1 安装
# 解压安装文件 tar -zxvf nexus-3.35.0-02-unix.tar.gz # 将解压出来的两个文件夹 移动到 /usr/local/ 下【位置随意】 mv ./nexus-3.35.0-02/ /usr/local/nexus/ mv ./sonatype-work/ /usr/local/sonatype-work/
2.2 配置
1️⃣ 配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内:
# 配置环境变量: vim /etc/profile.d/my_env.sh # 添加 NEXUS_HOME 及 bin export NEXUS_HOME=/usr/local/nexus export PATH=$PATH:$NEXUS_HOME/bin # 使得配置的环境变量立即生效: # 首先是要赋权限【只操作一次就行】 chmod +x /etc/profile.d/my_env.sh source /etc/profile.d/my_env.sh
2️⃣ 修改 $NEXUS_HOME/bin/nexus.rc 文件,将 run_as_user 配置放开,Nexus 跟很多 Linux 应用一样不推荐使用 root 用户,我们可以暂用:
# 释放并修改 run_as_user vim /usr/local/nexus/bin/nexus.rc run_as_user="root"
3️⃣ 修改 $NEXUS_HOME/etc/nexus-default.properties 的 IP 和端口:
# 修改 nexus-default.properties 的 host 和 port vim /usr/local/nexus/etc/nexus-default.properties # Jetty section application-port=8087 application-host=tcloud
4️⃣ 添加到系统服务:
ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus
2.3 启动
# 后台启动【不能看日志】 [root@tcloud ~]# service nexus start # 使用前台启动 [root@tcloud ~]# service nexus run WARNING: ************************************************************ WARNING: Detected execution as "root" user. This is NOT recommended! WARNING: ************************************************************ Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000074f550000, 1890254848, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 1890254848 bytes for committing reserved memory. # An error report file with more information is saved as: # /usr/local/nexus/hs_err_pid1301.log
【Nexus 日志注意❗️❗️❗️】
启动成功 后的运行日志文件为 /sonatype-work/nexus3/log/nexus.log
启动失败 的日志文件为 $NEXUS_HOME/hs_err_pidxxxx.log
2.4 调整虚拟机设置
以上报错是内存不足【需要1.76G】,由于我的云服务器是1核2G的,刚启动的服务器也就剩下1.4G的可用内存,这里需要通过调整 $NEXUS_HOME/bin/nexus.vmoptions 文件:
vim /usr/local/nexus/bin/nexus.vmoptions # 修改了4个与内存相关的参数 -Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m -Djdk.tls.ephemeralDHKeySize=512
2.5 重启
[root@tcloud ~]# service nexus run # 其他日志略【这样就是启动成功了】 ------------------------------------------------- Started Sonatype Nexus OSS 3.35.0-02 -------------------------------------------------
3. 验证
默认端口是:8081,我修改成了8087。最新版本的UI比较美观一些:
默认用户名是:admin,最新版本的登录密码需要查看 /usr/local/sonatype-work/nexus3/admin.password 文件:
cat /usr/local/sonatype-work/nexus3/admin.password 1825396f-e0e1-4a2f-beb8-c71b09af49ab
首次登录要修改初始密码,Chrome浏览器生成的随机密码 afM7x69nkRA2rpn:
登录后可以查看设置项:
4. 总结
最新版本安装配置完成,比老板的UI要好看不少,当然,消耗的内存也增加了。