【服务&环境】CentOS 7(Linux)安装Maven私服 Nexus Repository Manager 3 教程

  • Post author:
  • Post category:linux




1、安装


  • Nexus Repository Manager

    是一个依赖库管理器,俗称

    Maven私服

    ;在团队开发中,依赖库管理器对减少我们的一些低效率工作是非常有帮助的,例如:
  • 每次添加新依赖的时候需要从中央仓库下载,速度非常缓慢;就算配置到了阿里云或者国内的一些其他的镜像库,有时候依然受制于我们工作环境的外网带宽等因素限定,肯定没有直接从内网私服拉取快捷; 团队成员之间开发一个大型的应用,应用服务之前相互依赖,由于这些应用服务你是不可能给它发布到中央仓库中去的(除非购买一些云服务厂商的仓库服务),那么在CI/CD(持续集成/持续部署)时将会非常麻烦;
  • 某些场景下的开发(涉密系统开发),没有外网环境,那只能去内网私服仓库拉取依赖。



1.1、下载安装包

  • 如果直接进官网地址,现在最新版的Nexus Repository Manager 3(后文简称Nexus3)需要登录或者留下用户信息才可以下载了,还是比较复杂的,毕竟我只是想下载一个安装包而已;当然要是

    直接通过访问链接的方式

    跳过以上步骤目前来看也是没有问题的,链接如下:
https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3
  • 其中官方提供了三种操作系统的安装包,Unix、Windows、MacOS,如果你是Linux系统,那

    大胆使用Unix版本的安装包就可

    以了。
  • Nexus 3这次改动还是比较大的,因此我重新更新一下安装步骤。



1.2、安装

  • Nexus 3的安装也算比较简单,但是有一点要注意的是,

    Nexus也是基于Java开发,它在Vmoption中指定的默认堆内存大小是2G

    ,如果你的服务器内存太小的话,可能不是特别友好,

    建议还是使用4G以上内存的服务器

    ,不建议直接改它的默认配置。
  • 直接解压我们刚才下载下来的安装包:
tar -zxvf nexus-3.33.1-01-unix.tar.gz
  • 在启动尝鲜之前,

    由于Nexus3默认不允许使用root用户启动

    ,因此需要先在我们的环境变量中添加上那么一句话:
#编辑环境变量
vim /etc/profile
#添加这句话
export RUN_AS_USER=root
#刷新环境变量
source /etc/profile
  • 进入 ${nexus_home}/bin 目录启动Nexus:
./nexus start
  • 启动后,Nexus会自动在它默认的工作目录生成程序运行需要的一堆文件,其中包括我们的配置文件(安装包中的配置文件不建议更改):
#进入指定的目录 (sonatype-work工作目录与nexus安装目录同级)
cd ./sonatype-work/nexus3/etc
vim nexus.properties
  • 如需要更改Web管理界面(基于Jetty)的启动端口,可以在这边进行更改;



2、配置为服务

  • 每次启动需要去对应的目录中启动也是比较麻烦的,我们可以把 Nexus 3配置为服务,直接设置开机自动启动;
  • 由于Nexus的启动文件相对比较复杂,并且关联的东西比较多,因此我们直接在/etc/init.d新建一个启动脚本-nexus文件;脚本内容如下:(NEXUS_HOME的内容根据自己安装路径配置)。
#!/bin/bash    
#chkconfig:2345 20 90    
#description:nexus    
#processname:nexus    
export NEXUS_HOME=/usr/local/nexus/nexus-3.33.1-01
case $1 in    
        start) su root $NEXUS_HOME/bin/nexus start;;    
        stop) su root $NEXUS_HOME/bin/nexus stop;;    
        status) su root $NEXUS_HOME/bin/nexus status;;    
        restart) su root $NEXUS_HOME/bin/nexus restart;;            
        *) echo "require start | stop | restart | status " ;;    
esac
  • 给脚本赋权:
chmod +x /etc/init.d/nexus
  • 设置为开机启动:
#设为开机启动
chkconfig nexus on
#设为开机关闭
chkconfig nexus off



3、配置防火墙

  • 开放主机的Nexus客户端访问端口(默认是8081);CentOS 7使用firewall程序配置。
#开放端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
#重启防火墙程序
systemctl restart firewalld.service
  • 配置完防火墙后就可以在外部访问管理Web了:

    在这里插入图片描述



版权声明:本文为weixin_44353336原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。