安装环境
  Red Hat Enterprise Linux Server release 7.3 (Maipo)
  jdk1.7.0_80
  apache-tomcat-7.0.90
  mysql-5.7.23  
  apache-maven-3.5.4-bin.tar.gz(http://maven.apache.org/download.cgi)
  nexus-3.14.0-04-unix.tar.gz(https://www.sonatype.com/download-oss-sonatype)

一、Maven是什么?
Maven是优秀的构建工具,依赖管理工具,项目信息管理工具。

二、nexus
Nexus仓库管理工具,是一种远程仓库,私服的一种。

三、Maven与Nexus
Maven的依赖管理功能,通过在Pom中指定坐标的形式将jar引入到项目中。那这个过程,要经历怎样一个流程呢?从哪里寻找jar?下载的jar放到哪里?
这引出了仓库的概念,maven通过仓库来统一管理各种构件。Maven的仓库分为本地仓库和远程仓库。


当Maven根据坐标寻找构件时,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,Maven会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。

首先,Nexus是一种远程仓库,根据上段的介绍,我们已经知道远程仓库的作用。在远程仓库中,默认的是中央仓库,中央仓库是Maven核心自带的远程仓库。那就使用中央仓库不就得了吗,为什么我们要安装Nexus呢?

我们从项目实际开发来看:
1.一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。
2. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。

四、安装
1.Maven安装

#解压
[root@PCS103 local]# tar -zxvf apache-maven-3.5.-bin.tar.gz -C /usr/local
#配置环境变量
[root@PCS103 local]# vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.
export PATH=$JAVA_HOME/bin:$SVN_HOME/bin:$MAVEN_HOME/bin:$PATH
[root@PCS103 local]# source /etc/profile
#验证
[root@PCS103 local]# mvn -v
Apache Maven 3.5. (1edded0938998edf8bf061f1ceb3cfdeccf443fe; --18T02::+:)
Maven home: /usr/local/apache-maven-3.5.
Java version: 1.7.0_80, vendor: Oracle Corporation, runtime: /usr/local/jdk1..0_80/jre
Default locale: en_US, platform encoding: UTF-
OS name: "linux", version: "3.10.0-514.el7.x86_64", arch: "amd64", family: "unix"

2.Nexus安装
注意:Nexus3.x最低JVM1.8,这里安装Nexus2.x

#解压
[root@PCS103 src]# tar -zxvf nexus-2.11.--bundle.tar.gz -C /usr/local
#解压之后有两个文件夹 nexus-2.11.-01是nexus的核心文件,sonatype-work是maven下载jar存放地址。 #配置nexus-2.11.-(容器使用jetty)
命令:vim /usr/local/nexus-2.11.-/conf/nexus.properties
配置如下(无需修改) 默认端口8081:
# Jetty section
application-port=
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
#如果使用root用户运行 需要修改
编辑命令:vim /usr/local/nexus-2.11.-/bin/nexus
修改内容:RUN_AS_USER=root #启动
[root@PCS103 bin]# /usr/local/nexus-2.11.-/bin/nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS. #验证
[root@PCS103 bin]# jps
JswLauncher

#访问网址:http://134.32.123.103:8081/nexus 默认用户和密码:admin/admin123

接下来我们可以设置nexus开机启动配置:
有俩种方案:第一种是把nexus做成服务,第二种是在/etc/rc.d/rc.local添加执行命令
第一种:把nexus做成服务
1、进入/etc/init.d目录命令:cd /etc/init.d
2、拷贝nexus命令:cp /usr/local/nexus/nexus-2.11.1-01/bin/nexus ./nexus
3、赋权命令:chmod 755 /etc/init.d/nexus
4、添加服务命令:chkconfig --add nexus
5、设置开机启动命令:chkconfig --levels 345 nexus on
6、然后我们进行编辑/etc/init.d下的nexu文件命令:vim /etc/init.d/nexus
修改如下内容:
RUN_AS_USER=root
NEXUS_HOME="/usr/local/nexus/nexus-2.11.1-01"
PIDDIR="${NEXUS_HOME}"
7、进行编辑nexus安装目录下的wrapper.conf文件命令:
vim /usr/local/nexus/nexus-2.11.1-01/bin/jsw/conf/wrapper.conf
注意修改jdk文件路径:wrapper.java.command=/usr/local/jdk1.7/bin/java
8、最后我们执行:service nexus start (restart、stop)
9、Reboot重启服务,开机时我们发现nexus服务自动已启动!
第二种:在/etc/rc.d/rc.local添加执行命令
编辑命令:vim /etc/rc.d/rc.local
添加内容:/usr/local/nexus/nexus-2.11.1-01/bin/nexus start
编辑命令:vim /usr/local/nexus/nexus-2.11.1-01/bin/jsw/conf/wrapper.conf
注意修改jdk文件路径:wrapper.java.command=/usr/local/jdk1.7/bin/java
Reboot一下Linux,最后我们访问nexus服务:http://134.32.123.103:8081/nexus

参考:
https://blog.csdn.net/liusong0605/article/details/25654811
https://www.cnblogs.com/dingyingsi/p/3687077.html
https://help.sonatype.com/docs
https://blog.csdn.net/smartbetter/article/details/55116889

持续集成之三:搭建Maven私服Nexus的更多相关文章

  1. 持续集成之三:Maven私服Nexus使用

    环境 Red Hat Enterprise Linux Server release 7.3 (Maipo) jdk1.7.0_80 apache-tomcat-7.0.90 mysql-5.7.23 ...

  2. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  3. 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题

    [原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...

  4. Linux下搭建maven私服Nexus 3.2.1-01

    1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...

  5. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

  6. CentOS7 搭建maven私服Nexus

    下载解压 官网https://www.sonatype.com/download-oss-sonatype 下载页面 https://help.sonatype.com/repomanager2/do ...

  7. Maven私服Nexus的搭建

    # Maven私服Nexus的搭建 ## 私服存在的合理性 Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类: - 1) 本地仓库 - 2) 远程仓库,其中在远程仓库中又分成了3种 ...

  8. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  9. Maven学习 (四) 使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

随机推荐

  1. Centos 使用 docker

    公司linux服务器基本使用的Centos,以下切换为Centos进行docker的操作. 查看系统版本 [root@Sonar-104 ~]# cat /etc/redhat-release Cen ...

  2. Memcached概念、作用、运行原理、特性、不足简单梳理(1)

    大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过.这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现 ...

  3. 手写代码UI,xib和StoryBoard间的的优劣比较

    在UI制作方面,逐渐分化三种主要流派:使用代码手写UI:使用单个xib文件组织viewController或者view:使用StoryBoard来通过单个或很少的几个文件构建UI.三种方式各有优劣,也 ...

  4. 21ic编辑推荐:从单片机开始的程序运行

    一直不清楚单片机中程序的执行过程,就是知道一个程序总是从一个main函数开始执行,然后把程序段存放在ROM里面,动态数据存放在RAM里面,而单片机的RAM资源又是及其的稀少,所以要省着用,但是到底怎么 ...

  5. NGINX域名跳转案列

    1.不同域名不同路径跳转 nginx实现a.com/teacher域名跳转到b.com/student 若想实现上面题目的跳转,目前鄙人知道两种方式: 1.return 2.proxy_pass 具体 ...

  6. 计蒜客 31451 - Ka Chang - [DFS序+树状数组][2018ICPC沈阳网络预赛J题]

    题目链接:https://nanti.jisuanke.com/t/31451 Given a rooted tree ( the root is node $1$ ) of $N$ nodes. I ...

  7. HDU 6008 - Worried School

    Worried School Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  8. 区块链,Ethereum-Wallet

    https://blockchain.info/charts/transactions-per-second https://slock.it/     https://en.wikipedia.or ...

  9. logback多环境配置

    现在项目基本都是要区分测试开发等等一系列环境的,也因此maven,spring之类的都具有profile这类功能,可以针对不同的环境采用不同的配置.因此日志也可能根据不同的环境需要不同的配置.恰巧手头 ...

  10. MySQL 如何删除有外键约束的表数据

    今天删除数据库中数据,提示因为设置了foreign key,无法修改删除 可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. SET FOREIGN_KEY_CHECKS=0; 删除 ...