Maven搭建Nexus私服


私服的介绍

1 什么是私服

私服是一种特殊的远程仓库,它是架设在局域网的仓库服务,私服代理广域网上的远程仓库,供局域网使用。

在企业开发中,私服的建设是有必要的,其好处如下:

1.1 节省资金、外网带宽

利用私服代理外部仓库之后,对外的重复构件下载便得以简化,降低外网带宽压力。

1.2 加速Maven构建

不停地连接请求外部仓库是相当耗时的,但是 maven 的一些内部机制(如快照更新检查)要求 Maven 在执行构建的时候不停地检查远程仓库数据。因此,当项目配置了很多外部远程仓库的时候,构建速度会降低。使用私服解决这问题,因为 Maven 只需要检查局域网内私服的数据时,构建速度便有明显提高。

1.3 部署第三方构件

当某个构件无法从任何一个远程仓库获取怎么办?比如 Oracle 的 JDBC 驱动由于版权原因不能发布到公共仓库中。建立私服后,便可以将这些构件部署到这个内部仓库中,供内部 Maven 项目使用。

1.4 提高稳定性,增强控制

对于远程仓库来说,当外网不可用时,Maven 构建有可能因为依赖没有下载而不可行, 搭建并应用私服后,即使没有外网,如果该构件之前被其它人下载过就会存在私服上,此时再次依赖该构件就可以不用连接外网直接就可以从私服上下载到。同时私服软件(nexus)还提供了额外的管理功能。

1.5降低中央仓库的负荷

中央仓库是有限的。如果所有的 Maven 工程开发过程中,都通过中央仓库实现构件的依赖和管理,那么中央仓库的负荷过高,也会严重影响工程构建的效率。如果使用私服,可以分散中央仓库的负荷,只有在私服中没有需要依赖的构件时才会去连接中央仓库。

2 nexus私服搭建

img

2.1搭建环境

环境:CentOS6.5、JDK7、Sonatype Nexus、Maven(Eclipse 或 MyEclipse)

2.2搭建步骤

2.2.1安装JDK

在 Linux 中安装应用的常用目录为:/opt 或/usr/local 目录。本课件将 JDK 安装到

/usr/local/java 目录中。

解压JDK 到指定目录:

tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local

重命名JDK 目录:

mv /usr/local/jdk1.7.0_80 /usr/local/java

img

2.2.2 环境变量配置

修改/etc/profile 配置文件,增加环境变量配置。

环境变量修改后,可以重启 Linux 实现永久生效;或执行 source /etc/profile 命令,让新修改的环境变量在当前终端中生效。

3 安装私服Nexus

3.1 Nexus资源包下载

Nexus 官 方 下 载 地 址 为 : https://www.sonatype.com/nexus-repository-oss 本课件应用版本为:nexus-2.11.2-03

3.2 Nexus资源包解压

img

在/usr/local 目录中创建子目录 nexus: mkdir /usr/local/nexus

解压Nexus 到指定目录:

tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C /usr/local/nexus

img

3.3 目录介绍:

img

Nexus 压缩包中包含两个子目录: nexus-2.11.2-03 和sonatype-work

nexus-2.11.2-03 是具体的私服应用内容,sonatype-work 是Nexus 私服下载的构件存放工作目录。

3.3 检查私服端口和工作目录

在 nexus-2.11.2-03 目录中有子目录 conf ,其中保存私服应用的配置信息。查看nexus.properties 文件,确定私服访问端口和工作目录。此操作可不做任何内容修改。配置文件内容如下:

# Jetty section,Nexus 私服应用是使用Jetty 提供 web 服务的下述内容为Jetty 配置:application-port=8081 # 私服访问端口application-host=0.0.0.0nexus-webapp=${bundleBasedir}/nexus # Nexus 私服 WEB 应用所在位置nexus-webapp-context-path=/nexus # Nexus 私服WEB 应用 contextPath# Nexus section Nexus 私服配置信息nexus-work=${bundleBasedir}/../sonatype-work/nexus # 私服工作目录,即构件保存目录runtime=${bundleBasedir}/nexus/WEB-INF # 私服 WEB 应用运行目录

检查私服端口和工作

3.3.1 修改Nexus运行用户

Nexus 私服在启动后,私服应用需要访问 Linux 的文件系统,所以需要有足够的权限。Nexus 的启动脚本文件中,可以指定私服应用的访问用户,此信息在 nexus-2.11.2-03/bin/nexus 脚本文件中定义。需要修改的信息如下:

# NOTE - This will set the user which is used to run the Wrapper as well as # the JVM and is not useful in situations where a privileged resource or# port needs to be allocated prior to the user being changed. #RUN_AS_USER= #原内容RUN_AS_USER=root #修改后的内容,代表Nexus 私服使用 root 用户权限

修改 Nexus 运行用户

1.修改文件

img

2.默认是注释的

img

3.释放

img

3.3.2 修改防火墙,开放私服端口访问

修改防火墙配置文件,开放 Nexus 私服的访问端口 8081

vi /etc/sysconfig/iptables

增加下述内容:

重新启动防火墙:

service iptables restart

3.3.3 启动并测试访问

启动Nexus 私服:

img

/usr/local/nexus/nexus-2.11.2-03/bin/nexus start

成功启动后,控制台输出内容如下:

img

可通过命令检查私服运行状态:

/usr/local/nexus/nexus-2.11.2-03/bin/nexus status

内容如下为私服运行中:

img

内容如下为私服未运行:

如果是not running说明启动失败,重新配置!

也可使用浏览器访问 Nexus 私服WEB 应用, 访问地址为:

http://ip:8081/nexus (ip 为 Nexus 所在系统的访问 IP),访问效果如下:

img

总结:

此时配置成功,最重要的步骤是修改用户权限,让root来运行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java啤酒生产系统描述_Java描述设计模式(03):工厂方法模式

一、工厂方法模式1、生活场景系统常见的数据导出功能:数据导出PDF、WORD等常见格式。2、工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。工厂方法模式的用意是定义一个创建产品对象的工…

@Autowired(required=false)注入注意的问题

1、前言 在使用spring开发过程中,我们基本上都是使用Autowired这个注解,用来注入已有的bean。但是有些时候,会注入失败。当我们加上参数(requiredfalse)就能解决。今天整理一个我在实际开发中的例子 2、required属性…

什么是ip地址、子网掩码、网关和DNS?

什么是ip地址、子网掩码、网关和DNS? 什么是ip地址? IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全…

Dubbo:RPC原理

1、RPC原理 一次完整的RPC调用流程如下: 1)服务消费方(client)调用以本地调用方式调用服务; 2)client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体; 3)clie…

java jni日志输出_java打印Jni层log

要在java层打印c的log必须引入这个头文件的宏定义:#ifndef __LOG#define __LOG#ifdef __cplusplusextern "C"{#endif#include//宏定义类似java 层的定义,不同级别的Log LOGI, LOGD, LOGW, LOGE, LOGF。 对就Java中的 Log.i log.d#define LOG_TAG "HelloJni"…

Dubbo基本原理机制

分布式服务框架: 高性能和透明化的RPC远程服务调用方案SOA服务治理方案Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接 Dubbo缺省协议采用单一长连接和NIO异步通讯, 适合于小数据量大并发的服务调用,以及服务消费者机器…

Dubbo是如何进行远程服务调用的?(源码流程跟踪)

首先会分析Dubbo是如何进行远程服务调用的,如果不了解dubbo的服务暴露和服务调用,请去看前两篇dubbo的文章,然后后面我还会说一下dubbo的SPI机制 当我们在使用reference 注解的时候,来调用我们的提供者的Service对象的时候&#…

Redis五种数据类型及应用场景

Redis五种数据类型及应用场景 MySqlMemcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的…

WebSocket介绍和Socket的区别

WebSocket介绍与原理 WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP)请求完成。 ——百度百科 目的:即时通讯,替代轮询 应用场景:网站上的即时通讯是很常见的&#xf…

WebSocket协议入门介绍

文章目录WebSocket协议是什么WebSocket是应用层协议WebSocket与Http的区别为什么要使用WebSocket如何使用WebSocket客户端API在客户端使用WebSocket在服务端使用WebSocket反向代理对WebSocket的支持WebSocket协议是什么 WebSocket是应用层协议 WebSocket是基于TCP的应用层协议…

远程ykvm 插件移值java_Centos7 命令行下kvm安装windows,linux

查看是否支持egrep "svm|vmx" /proc/cpuinfo |uniq安装软件yum install libvirt -yyum -y install qemu-kvmsystemctl enable libvirtd && systemctl start libvirtd# 启动libvitd服务查看 ip add #查看是否有 virbr0网卡 yum install virt-installcentos7 例…

php7.0扩展yac,php扩展之yac安装

git克隆$ git clone https://github.com/laruence/yac.git解压安装注意这里的php-config可能不一样查看php-config位置$whereis php编译安装$ cd yac$ phpize$ ./configure --with-php-config/usr/bin/php-config$ make$ make install修改php.ini,载入扩展,重启php-fpmextensio…

springboot+websocket实现服务端、客户端

一、引言 小编最近一直在使用springboot框架开发项目,毕竟现在很多公司都在采用此框架,之后小编也会陆续写关于springboot开发常用功能的文章。 什么场景下会要使用到websocket的呢? websocket主要功能就是实现网络通讯,比如说…

输出有样式的php,PHP导出带样式的Excel

工作中做导出的时候,需要导出自定义的表格或嫌弃导出的Excel格式太难看了。需要设置颜色、字号大小、加粗、合并单元格等等。Paste_Image.pngPHP代码:php/**导出文件return string*/public function export(){$file_name "成绩单-".date(&quo…

idea创建多模块Springboot项目、导入多模块、删除多模块

前言 在eclipse中有Workspace(工作空间)和 Project(工程)的概念在 IDEA中只有 Project(工程)和 Module(模块)的概念。这个地方刚开始用的时候会很容易理不清它们之间的关系。在eclip…

包含内部类的.java文件编译后生成几个.class文件

如果一个类有内部类,编译将生成几个字节码文件,规则是怎样呢? 写在前,自己动手丰衣足食,结论只有个人实验支持,没有官方数据支持,欢迎自行查阅文档然后来指正,轻喷,谢谢…

Intellij IDEA远程debug教程实战和要点总结

远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。 JAVA支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协…

Idea进行远程Debug

Idea远程调试 当把一个本地项目部署到远程服务器后有可能出现意想不到错误,这个时候通过远程调试能够更清楚的找到bug所在位置。本篇主要讲解如何使用Idea开发工具 进行调试1.远程调试服务器上面的SpringBoot 项目2.远程调试服务器上运行在tomcat中的项目&#xff…

matlab表示DFT和DTFT,【 MATLAB 】离散傅里叶级数(DFS)与DFT、DTFT及 z变换之间的关系...

上篇博文我们简单的讨论了离散傅里叶级数DFS和离散傅里叶变换DFT之间的关系,简单地说,DFT就是DFS在一个周期内的表现。为了后面讨论方便,这里给出DFS的系数公式(分析公式):(1) 其中:综合公式:(2) 为了对比&…

php分列显示,【杂谈】PHP数组怎样按键名完成降序分列

PHP关联数组按键名完成降序分列,我们能够直接经由过程PHP中的krsor()函数来完成。krsort函数示意对数组根据键名逆向排序。那末在前面的文章中,已给人人引见过PHP关联数组按键名完成升序分列的要领。下面我们继承连系简朴的示例,给人人引见PH…