Linux 安装Nexus3.42.0-01图文教程
Nexus(私服)介绍
1.私服的基本概念:
架设在局域网中的一种特殊的远程仓库,目的是代理远程仓库以及部署第三方依赖包构建。
2.宏观上私服的运作:
有了私服之后,当Maven需要下载依赖时,直接请求私服,私服上存在就下载到本地仓库,否则服务请求外部的远程仓库,将构建下载到私服,再提供给本地仓库下载。
3.私服解决了什么问题:
私服解决在企业里面做开发每次需要的jar包都要在中心仓库下载,且每次下载只能被自己使用,不能被其他人开发人员使用的问题。
安装Nexus3.42
Nexus3需要Java8 的运行环境
官网的建议:
CPU:最低cpu: 4推荐cpu: 8 +
Memory:
主机上的最小物理/RAM内存为8GB
最小堆(-Xms)必须等于设置的最大堆(-Xmx),
最小堆大小2703MB,最大堆大小<= 4GB
最小直接内存(-XX:MaxDirectMemorySize)大小2703MB
最小未分配的主机物理/RAM内存应不小于总物理RAM的1/3,以允许虚拟内存交换
max堆+ max直接内存<=主机物理内存/RAM * 2/3
下载安装包
由于官网上下载太慢,这是我提前下载好的安装包。访问链接下载资源即可nexus3.42.0-01压缩包
百度网盘:链接: nexus3.42.0-01 提取码: e77t
解压
- 上传文件到linux服务器中
- 进行到压缩包所在目录,进行解压
#解压 tar -zxvf nexus-3.42.0-01-unix.tar.gz
- 解压出来两个目录
nexus-3.42.0-01:用于实现 nexus 功能
sonatype-work:用于存储数据
启动Nexus
- 查看端口号
在nexus-3.42.0-01/etc目录下查看nexus-default.properties文件中的端口号
vim nexus-default.properties
默认的端口号为8081我这儿修改为了8089
- 开放端口
非root权限用户执行防火墙相关命令时需要在命令前加上sudo提升权限并根据提示输入密码
查询8089端口是否开启
firewall-cmd --query-port=8089/tcp
如果没有开启则开启8089端口
#添加指定需要开放的端口: firewall-cmd --add-port=8089/tcp --permanent
重启防火墙
firewall-cmd --reload
- 启动Nexus
启动方式目前有两种:前台运行和后台运行
前台运行Nexus
要从bin文件夹中的应用程序目录使用./nexus run启动
#前台启动 ./nexus run
可以在控制台使用CTRL+C停止正在运行的应用程序。
在日志中显示Started Sonatype Nexus那么就可以访问Nexus了。
后台运行Nexus
要从bin文件夹中的应用程序目录使用./nexus start启动
#后台启动 ./nexus start
其他命令
#停止 ./nexus stop #重启 ./nexus restart #强制重新加载 ./nexus force-reload #查看状态 ./nexus status
访问通过Ip+端口号
登陆并初始化Nexus
- 浏览器访问Nexus的web首页,进行登陆输入账号和密码
默认用户名为admin,密码在 sonatype-work/nexus3 目录下 的 admin.password 文件中查看初始化密码。
# 进入 admin.password 文件所在目录,示例 cd /home/admin/wangwei/sonatype-work/nexus3 # 查看 admin.password 文件文本内容 cat admin.password
文件文本第一行就是密码
- 进行登陆
成功登陆之后的界面
问题记录
Native memory allocation (mmap) failed to map 1890582528 bytes for committing reserved memory.
问题背景:启动Nexus报错
问题原因:给服务器内存不足以启动Nexus
如何解决:
方案1:进行扩大服务器的内存
方案2:修改JVM的服务启动分配的最小最大heap
解决方法:
进行到nexus的bin目录,修改nexus.vmoptions文件中的Xms Xmx,根据实际情况修改,我这儿修改的为1024m。
注意:官网提示:堆内存存储运行时应用程序对象。必须指定min (-Xms)和max (-Xmx)值,且值必须相同。不建议将堆内存增加到大于推荐值或将最小值和最大值设置为不同的值。这将产生性能问题,导致操作系统不必要地颠簸。
cd /home/admin/wangwei/nexus-3.42.0-01/bin #编辑文件 vim nexus.vmoptions