使用Nexus搭建Maven私服-阿里云开发者社区

开发者社区> 麦老师> 正文

使用Nexus搭建Maven私服

简介: 使用Nexus搭建Maven私服
+关注继续查看

Nexus是一个很强大的私服软件,不仅仅是作为Java的Maven打包使用,同样的也支持pypi、yum源、apt源、npm等等。

如果没有私服,我们所有maven、pypi等下载的包都需要通过官方的仓库或是第三方的镜像仓库,如果整个Team都这么做,那么每次打包下载的时候就会浪费大量的时间花费在网路IO上。

私服的概念就是在本地架设一个中央仓库,在这个中央仓库上配置远程服务器源,当我们客户端需要某些包时,如果本地Nexus中央仓库没有这个包,就去远程服务器源中下载,下载成功后,这个包会保存在中央仓库中,下次再使用这个包时,直接从Nexus中央仓库获取,就无需从远程服务器下载了。

当前安装环境:4c4g、关闭selinux、关闭firewalld/iptables(或自行配置)、ulimit设置65536、Centos7.x、jdk1.8

1、安装jdk1.8和nginx

rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install jdk1.8 wnginx -y

2、下载Nexus包

访问nexus官网:https://www.sonatype.com/nexus-repository-oss

随便输入个邮箱地址

网盘下载:链接: https://pan.baidu.com/s/1vDMVRWpJcoUUXHG0u01Wug 提取码: 6rdv

3、上传包到服务器

我这里上传到了/data/nexus目录下

tar xf nexus-3.25.1-04-unix.tar.gz

解压缩后会创建两个文件夹,nexus-3.25.1-04是主程序,所有配置都是在这里,sonatype-work是仓库目录

4、启动服务

ln -sv /data/nexus/nexus-3.25.1-04/bin/nexus /usr/bin/nexus
nexus start

启动后默认会开启8081端口

5、配置nginx反向代理

vi /usr/local/nginx/conf/vhost/demo.conf
server {

listen   80;
server_name  10.10.189.160;
root /data/nexus/nexus-3.25.1-04;

# allow large uploads of files
client_max_body_size 1G;

# optimize downloading files larger than 1G
# proxy_max_temp_file_size 2G;

location / {
  # Use IPv4 upstream address instead of DNS name to avoid attempts by nginx to use IPv6 DNS lookup
  proxy_pass http://127.0.0.1:8081/;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}

6、访问nexus

默认账号admin,密码在/data/nexus/sonatype-work/nexus3/admin.password

第一次登录需要更改密码

是否启用匿名访问,我这里直接启用匿名了,这个选项后期可随时更改

7、增加阿里云镜像仓库

选择maven2(proxy)

name名称随便写

地址:https://maven.aliyun.com/repository/public

其他选项默认即可,点击创建

点击maven-public,将刚刚创建的aliyun-proxy添加进来

复制maven-public地址

8、maven私服配置

maven配置私服有两种方法:

setting.xml是全局模式,pom.xml是单独模式,若setting.xml和pom.xml同时配置了,以pom.xml为准。

setting.xml设置

https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/选择版本,在binaries/目录中下载tar.gz包到服务器中,解压缩后复制maven-public地址添加到maven的conf/settings.xml中

<mirror>
  <id>maven-public</id>
  <mirrorOf>*</mirrorOf>
  <name>maven-public</name>
  <url>http://10.10.189.160/repository/maven-public/</url>
</mirror>

pom.xml设置

<repository>
    <id>maven-public</id>
    <name>maven-public</name>
    <url>http://10.10.189.160/repository/maven-public/</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9489 0
Microsoft Excel 不能访问文件“ 文件名称或路径不存在。 • 文件正被其他程序使用。 • 您正要保存的工作簿与当前打开的工作簿同名。
Microsoft Office Excel 不能访问文件“D:\WWWRoot\KOBELCOSH\WebUI\ExcelTemplate\QUOTE5.xls”。 可能的原因有: 1 文件名称或路径不存在。
1790 0
Maven Nexus私库搭建及使用,你还不会吗?
maven默认去远程中央仓库下载JAR包的,访问国外网络相当慢,如果团队每个人都去下载一遍无疑是网络的浪费,当然也可以添加国内的镜像,如阿里的比较稳定,但如果想添加远程不存在的像第三方公司的JAR包就比较麻烦。
12 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10843 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13172 0
使用gradle插件发布项目到nexus中央仓库
Sonatype 提供了一个叫做开源软件资源库托管Open Source Software Repository Hosting (OSSRH) 的工具,帮助我们来方便的将项目发布到中心仓库中。
146 0
+关注
麦老师
原3dmgame(三大妈)游戏网运维总监,原阿里云栖论坛版主,wlnmp一键安装包作者,多年互联网行业从业经验,专注于Linux平台的系统维护、DevOps运维实践、监控平台实践及应用部署。我的博客https://blog.whsir.com
161
文章
293
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载