使用阿里云centos8搭建nexus私服
1 下载nexus包
1.0、前提:已配好jdk和maven。
1.1、可以去官网下载最新版本,按操作系统选择对应类型版本,Linux对应unix。
1.2、 nexus官网地址:https://www.sonatype.com/download-oss-sonatype
1.3、解压nexus包到你想要放在的路径。我是放在了/usr/local/nexus下。
注意:我的是2G1核的服务器,所以我下载了最新版本3.26.3来使用时,run nexus经常提示内存溢出(导致nexus服务经常启动不了),后面我就改用了3.9.0的版本(网上帖子里找到的),同时也修改了nexus.vmoptions一些配置后就没有提示过内存溢出问题了(这里3.26.3的版本修改了nexus.vmoptions也没有起作用),所以有时候用最新版本的也不是件好事。
2 运行nexus
上面一切就绪以后,可以在/usr/local/nexus/nexus-3.9.0-01下运行启动命令:
1:bin/nexus run (显示启动,可以看到进程,成功后有Started xxxx 的提示)
2:bin/nexus start (隐式启动,我这里是只看到Starting nexus的提示,需要等一会才会完全启动起来)
启动成功之后就可以采用 ip地址:端口号 访问nexus了(端口号可以在/usr/local/nexus/nexus-3.9.0-01/etc/nexus-default.properties更改,这里我用了8089)
**注意:**一定要在阿里云服务器实例里面的安全组上面开放你要使用的端口。不然就算nexus启动成功也无法在网页中访问。这是大坑,我试过在宝塔上面开放端口,也试过公私网地址映射和关闭防火墙都不行,后面在对应实例的安全组上添加允许访问的端口就可以了。
至此,nexus已经成功启动。
3 配置nexus
配置nexus我参考了这个贴子中的 5.搭建maven私服资源库
参考url:https://www.cnblogs.com/sxdcgaq8080/p/7583767.html
其中proxy我只加入了阿里云的仓库。
到这里,私服基本搭建成功了,剩下只需要配置一下本地使用的setting和pom文件就可以了。
4 setting.xml配置
这个是你maven的setting,当使用编译工具idea等时,maven setting指向你配置的地址就好。
截图中是需要添加的信息:(我公网的ip地址都打码了,自觉补充对应的ip地址即可,下同)
注意:这里server中的id要与下面pom文件中设置上传jar、war包的仓库id要一致或一一对应。
此外,密码采用了加密安全策略:
1、获取master密码
先在setting.xml路径下新建settings-security.xml,
在cmd窗口下执行mvn --encrypt-master-password 得到一个master密码,然后把它加入settings-security.xml里。
settings-security.xml文本:
<settingsSecurity>
<master>{+QNhML+8/KcHu+6ZdMpoOQarSCx5eC7c7av8pbM/TKw=}</master>
</settingsSecurity>
2、获取server加密密码
执行mvn --encrypt-password 得到一个server密码,
把这个加密串添加到settings.xml中所有server节点的password中。
如果你的出现了error的提示,说明你的不是在默认C盘下的,这时把settings-security.xml复制到C盘下/.m2/settings-security.xml重新执行一遍就好。(用完也可以删掉C盘下的settings-security.xml)
5 pom.xml配置
pom.xml我就是加入打包发布的配置:
<distributionManagement>
<snapshotRepository>
<id>maven-snapshots</id>
<url>http://ip:8089/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>maven-releases</id>
<url>http://ip:8089/repository/maven-releases/</url>
</repository>
</distributionManagement>
至此,已经全部设置完毕。
6 测试
在idea上面使用clean 或install就可以正常看到它在nexus上面抓取包了。(明显见效的方法是更改setting.xml中本地仓库路径为一个全新路径,重新install就可以在本地库中看到所需的包了,也可以在nexus上搜索得到,也能在服务器中找到对应的nexus Blob reference 的包)
centos模糊查询命令: sudo find / -name ‘* 关键字 *’
用sudo原因是就有权限去搜索本没有权限查看的文件。
打包上传测试:mvn deploy
直接使用idea中maven的deploy即可实现上传了。
nexus上面可以查看到成功上传的war包:
查看两张图,时间是正好对应得上的。
参考资料:
https://www.cnblogs.com/sxdcgaq8080/p/7583767.html
https://www.cnblogs.com/sos-blue/p/7155549.html