nexus的安装
- 1,Nexus 介绍。
- Nexus是什么?
- 为什么要构建 Nexus 私服?
- 2,关于下载
- 3,部署nexus
- 1,解压
- 2,启动
- 3,访问
- 4,优化配置
- 1,设置开机自启
- 2,配置运行用户
- 3,配置jdk
- 4,修改端口。
- 5,配置存储及日志位置。
- 5,启动之后,解决一个小问题
- 6,参考文章
提醒:
- 本文安装nexus采用了Centos7;
- 本文采用了普通安装方式,未使用其他工具
- 前置条件:JDK安装配置完成
1,Nexus 介绍。
Nexus是什么?
Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
不仅如此,他还可以用来创建yum、pypi、npm、docker、nuget、rubygems 等各种私有仓库。
如果使用了公共的 Maven 仓库服务器,可以从 Maven 中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。 正常做法是在本地架设一个 Maven 仓库服务器,即利用 Nexus 私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个 Artifact。 Nexus 在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷, 节省外网带宽和时间,Nexus 私服就可以满足这样的需要。 Nexus 是一套 “开箱即用” 的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。 Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。 Nexus 支持 WebDAV 与 LDAP 安全身份认证。 Nexus 还提供了强大的仓库管理功能,构件搜索功能,它基于 REST,友好的 UI 是一个 extjs 的 REST 客户端,它占用较少的内存,基于简单文件系统而非数据库。
为什么要构建 Nexus 私服?
- 加速构建
- 节省带宽
- 节省中央 maven 仓库的带宽
- 稳定(应付一旦中央服务器出问题的情况)
- 控制和审计
- 能够部署第三方构件
- 可以建立本地内部仓库
- 可以建立公共仓库
2,关于下载
- 官网地址:https://www.sonatype.com/
不知道什么原因,官网下载一直失败,在网上找了好多办法都不行; - 采用他人分享的资源
- 下载网站
- 他人分享的网盘资源
3,部署nexus
1,解压
下载到指定目录并解压,我们可以看到解压后有通常两个文件。
mv /home/zq/桌面/nexus-3.19.1-01-unix.tar.gz /mnt/nexus
tar xf nexus-3.19.1-01-unix.tar.gz
2,启动
cd nexus-3.19.1-01/bin/
./nexus run &
大概等待一分钟左右,如果在日志输出当中看到如下显示,则说明启动成功。
-------------------------------------------------
Started Sonatype Nexus OSS 3.12.1-01
-------------------------------------------------
3,访问
默认监听端口为8081,Nexus3之前默认用户名为admin/admin123,Nexus3默认用户名为admin,密码位于sonatype-work/nexus3/admin.password
,(具体从哪个版本开始变化的不太清楚) ;
可以访问以下链接访问并登陆
127.0.0.1:8081
使用其它ip进行访问需要进行配置防火墙
/*Centos7*/
#开放
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#删除
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
#重启防火墙
systemctl restart firewalld
/*Ubuntu*/
#开放
ufw allow 3306
#删除
ufw delete allow 3306
#重启防火墙
ufw reload
说明:
- firewall-cmd:Linux中提供的操作firewall的工具。
- zone:指定作用域。
- add-port=3306/tcp:添加的端口,格式为:端口/通讯协议。
- permanent:表示永久生效,没有此参数重启后会失效。
此后随意访问了
4,优化配置
1,设置开机自启
ln -s /mnt/nexus/nexus-3.19.1-01/bin/nexus /etc/init.d/nexus3
chkconfig --add nexus3
chkconfig nexus3 on
2,配置运行用户
这个地方可以使用root运行,不过官方文档里边也不建议使用root来运行,因此使用普通用户来运行。
useradd nexus
vim nexus.rc
run_as_user="nexus"
配置之后记得更改目录权限,否则下次启动会没有权限。
chown -R nexus.nexus /mnt/nexus/nexus-3.19.1-01
chown -R nexus.nexus /mnt/nexus/sonatype-work/
Linux中useradd与adduser都是创建新的用户
而在Ubuntu下useradd与adduser有所不同adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
在Ubuntu中用useradd需要为用户指定用户主目录:usermod -d /directory user
3,配置jdk
如果这里不配置,一般会使用默认的JAVA_HOME的变量,如果系统中有多个,那么可以进行配置。
vim nexus
修改第14行:
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144
4,修改端口。
一般使用默认的,如果需要修改,则更改vim /mnt/nexus/nexus-3.19.1-01/etc/nexus-default.properties
里边的配置。
5,配置存储及日志位置。
vim /mnt/nexus/nexus-3.19.1-01/bin/nexus.vmoptions
一般都不做修改,使用默认即可。
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
配置完毕之后,重启一下服务。
5,启动之后,解决一个小问题
注意管理界面上边会有一个告警,这个告警的意思是系统默认的最大文件句柄太小了。
echo "nexus - nofile 65536" >> /etc/security/limits.conf
然后再次重启服务即可