nexus的搭建

本文转自http://www.cnblogs.com/meet/p/5060864.html

1.Nexus下载
下载地址:http://www.sonatype.org/nexus/go/
下载后的文件:nexus-2.11.4-01-bundle.zip
安装:直接解压到某个目录即可
解压后,会有两个目录:
nexus-2.11.4-01  
sonatype-work :私服的默认仓库
1.1 将bin目录添加到环境变量中
D:\JavaDev\nexus-2.11.4\nexus-2.11.4-01\bin
1.2 配置java文件的路径
打开D:\JavaDev\nexus-2.11.4\nexus-2.11.4-01\bin\jsw\conf\wrapper.conf文件
修改wrapper.java.command=java为你的java.exe文件的路径
例如:
wrapper.java.command=D:\Program Files\Java\jdk1.7.0_07\bin\java
1.3 启动nexus
先安装:nexus install
然后启动:nexus start
C:\Users\Administrator>**nexus install**
wrapper  | nexus installed.
C:\Users\Administrator>**nexus start**
wrapper  | Starting the nexus service...
wrapper  | Waiting to start...
wrapper  | nexus started.
C:\Users\Administrator>
1.4 登陆nexus
地址:http://localhost:8081/nexus
默认用户名密码 admin/admin123

2.Nexus Repositories 介绍
2.1 Repositories介绍

在Nexus的Repositories中,主要有两种类型的工厂hosted和proxy
hosted本地工厂:只是面向内部服务的,面向局域网
3rd party :存放Maven中央仓库中没有的第三方jar包
Releases  :存放Maven中提交的Releases项目
Snapshots :存放Maven中提交的Snaphots项目
proxy代理工厂:
Central:存放从Maven中央工厂中下载下来的jar包
例如:Central中需要配置Maven中央工厂的地址
Apache Snapshots:存放专门从Apache下载的Snapshots的jar包
Codehaus Snapshots:存放专门从Codehaus下载的Snapshots的jar包
2.2 Maven中配置Nexus Repositories
配置Maven不从Maven自身的中央工厂找jar包,而是从这个Nexus私服工厂中找jar包
临时配置(用户配置):表示只针对当前项目的配置方式,只要当前项目找jar包的时候是来Nexus中找,但是如果再有一个新项目。就还是从Maven中来下载jar包了
打开pom.xml添加配置

1
2
3
4
5
6
7
< repositories >
      < repository >
          < id >nexus</ id >
          < name >Nexus Repository</ name >
          < url >http://localhost:8081/nexus/content/groups/public/</ url >
      </ repository >
</ repositories >

其中url的值,就是Public repositories的URL值


全局配置:这样配置表示不管哪个项目,只要局域网内使用Maven下载jar包,都会来Nexus的私服工厂中来下载。
通过修改Maven的setting.xml的全局配置文件
增加一个或者多个profile配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
< profiles >
     < profile >
         < id >nexusProfile</ id >
         < repositories >
           < repository >
             < id >nexus</ id >
             < name >Nexus Repository</ name >
             < url >http://localhost:8081/nexus/content/groups/public/</ url >
             <!-- releases默认是true -->
             < releases >< enabled >true</ enabled ></ releases >
             <!-- snapshots默认是false -->
             < snapshots >< enabled >true</ enabled ></ snapshots >
           </ repository >
         </ repositories >
       </ profile >
</ profiles >
< activeProfiles >
     <!-- 激活nexusRepo这个profile:只有激活才生效 -->
     < activeProfile >nexusProfile</ activeProfile >
</ activeProfiles >

2.3 配置Nexus的镜像
配置Nexus的镜像的目的是:有时候我们每个开发人员需要在我们的私服中找jar包,但是如果私服中也没有的话,就会去Maven的中央工厂中找。可能会有这样的需求,就是你们开发人员不允许直接去中央工厂找jar包,你们所需要的jar包都来我们内部的私服来找。如果私服里也找不到,那就是找不到了【通知项目经理需要\*\*.jar包】
同样是在Maven的全局配置文件settings.xml中配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
< mirrors >
< mirror >
   < id >nexusMirror</ id >
   <!-- 配置工厂镜像,只要mirror中配置的工厂需要找jar包,都来这个url中找[也就是都来私服中找]
   即使在这个私服中找不到了,也不会去Maven的中央工厂中找
   mirrorOf中配置的表示是工厂的id
   central工厂位置:apache-maven-3.3.9\lib\maven-model-builder-3.3.9.jar\pom-4.0.0.xml
   central工厂表示是Maven自己的工厂https://repo.maven.apache.org/
   maven2,这个地址就是Maven默认去找jar包的一个Maven中央工厂
    -->
   
   <!-- 这里也可以使用*号来代替所有的工厂都使用这个镜像来获取jar包
   <mirrorOf>nexus,central</mirrorOf>
   -->
   < mirrorOf >*</ mirrorOf >
   < name >Human Readable Name for this Mirror.</ name >
</ mirror >
</ mirrors >

当然,如果这里定义mirror,那上面定义的激活profile的定义就没什么意义了,可以直接注释掉

1
2
3
4
< activeProfiles >
     <!-- 激活nexusRepo这个profile:只有激活才生效 -->
     <!-- <activeProfile>nexusProfile</activeProfile> -->
</ activeProfiles >

 

1.Nexus安装与配置

2.Nexus更新索引

3.发布Maven项目到nexus中

4.按项目类型分配不同的nexus工厂来发布不同的项目


<think>首先,用户的问题是:“我想搭建Nexus私有仓库 请问如何搭建和配置Nexus私有仓库”。这是一个关于搭建和配置Nexus私有仓库的请求。 根据系统级指令,我需要: - 使用$...$格式表示行内数学表达式(但在这个上下文中,可能没有数学表达式)。 - 独立公式使用$$...$$格式(同样,可能不适用)。 - 确保LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 - 回答结构清晰,帮助用户逐步解决问题,保证回答真实可靠。 参考的站内引用提供了关于搭建Nexus私有仓库的信息: - 引用[1]:解释了为什么需要搭建Nexus私服,用于减少网络影响。 - 引用[2]:详细描述了使用Nexus搭建私有仓库的步骤,包括下载、解压、设置环境变量、修改配置文件、启动服务等。 - 引用[3]:提到如何搭建Nexus并配置SSL证书。 - 引用[4]:使用Docker搭建Nexus并配置私有仓库。 用户的问题集中在搭建和配置Nexus私有仓库上,所以我需要基于这些引用构建一个全面的回答。 结构化回答: 1. **介绍**:简要说明Nexus是什么以及为什么需要它。 2. **搭建步骤**:提供搭建Nexus私有仓库的详细步骤,包括下载、安装、配置等。 3. **配置步骤**:包括基本配置、端口设置、SSL证书配置等。 4. **验证**:如何验证安装是否成功。 5. **生成相关问题**:在结尾添加相关问题。 确保回答真实可靠:基于提供的引用,引用[2]给出了详细的Windows环境下的步骤,引用[4]提供了Docker方式。我应该覆盖这些方法。 关键点: - **搭建方法**: - 传统方式(如引用[2]):下载、解压、设置环境变量、修改配置文件、启动服务。 - Docker方式(如引用[4]):使用Docker运行Nexus容器。 - **配置**: - 端口配置(如修改nexus.properties)。 - SSL证书配置(如引用[3])。 - 基本设置如登录、仓库类型等。 回答步骤: 1. **准备环境**:确保有Java环境(Nexus需要Java)。 2. **下载和解压**:下载Nexus软件包并解压。 3. **设置环境**:设置环境变量和配置文件。 4. **启动服务**:安装并启动Nexus服务。 5. **访问和配置**:通过Web界面登录和配置仓库。 6. **可选配置**:如SSL证书、端口修改。 7. **Docker方式**:提供替代的Docker安装方法。 使用中文回答,并自然地添加引用标识。例如,在描述步骤时,如果基于引用[2],就在末尾加[^2]。 生成相关问题:在结尾添加相关问题,如优化、应用场景等。 最终回答结构: - 标题:搭建和配置Nexus私有仓库指南 - 分步指南 - 相关问题</think>### 搭建和配置Nexus私有仓库指南 Nexus是一款用于管理软件仓库的工具,常用于构建私有Maven仓库、Docker仓库等,能减少网络依赖并加速构建过程[^1]。以下是基于引用内容的详细搭建和配置步骤,分为传统安装和Docker方式两种。确保系统已安装Java(JDK 1.8或更高版本),因为Nexus依赖Java环境[^2]。 #### 一、传统安装方式(适用于Windows/Linux) 此方式基于引用[2]的步骤,适用于物理机或虚拟机环境。 1. **下载和解压Nexus软件包** - 访问Nexus官网下载最新版本(如旧版`nexus-2.2-01-bundle.tar.gz`,新版可从Sonatype获取)。 - 解压到目标目录,例如`D:\mynexus\`(Windows)或`/opt/nexus/`(Linux)。解压后生成两个文件夹:`nexus-<版本号>`(主程序)和`sonatype-work`(数据存储)[^2]。 2. **设置环境变量** - 将Nexus的`bin`目录添加到系统PATH: - Windows:在系统环境变量PATH中追加`;D:\mynexus\nexus-2.2-01\bin`。 - Linux:在`/etc/profile`中添加`export PATH=$PATH:/opt/nexus/nexus-<版本号>/bin`,并执行`source /etc/profile`[^2]。 3. **修改Java路径和端口配置** - 编辑`wrapper.conf`文件(路径如`D:\mynexus\nexus-2.2-01\bin\jsw\conf\wrapper.conf`): ```ini # 指定Java路径 wrapper.java.command=D:\Program Files\Java\jdk1.8.0_291\bin\java # 修改为您的JDK路径 ``` - 修改端口(默认8081):编辑`nexus.properties`文件(路径如`D:\mynexus\nexus-2.2-01\conf\nexus.properties`): ```properties application-port=8081 # 改为自定义端口,如8088 application-host=0.0.0.0 # 允许所有IP访问 ```[^2] 4. **启动Nexus服务** - Windows:以管理员身份运行命令行: ```cmd nexus install # 安装为系统服务 nexus start # 启动服务 ``` - Linux:使用`./nexus start`启动。 - 验证:服务启动后,在服务列表中可见"Nexus"服务[^2]。 5. **访问Web界面并初始配置** - 浏览器访问`http://localhost:8081/nexus`(端口需匹配配置)。 - 登录:默认用户名`admin`,密码`admin123`。 - 配置仓库: - 创建Maven仓库:在"Repositories"中添加"Proxy Repository"(代理远程仓库)或"Hosted Repository"(私有仓库)。 - 设置仓库策略(如Release/Snapshot)[^2]。 #### 二、Docker安装方式(推荐,简化部署) 基于引用[4],使用Docker容器快速部署,适合云环境或测试。 1. **拉取并运行Nexus镜像** - 执行命令(以Linux为例): ```bash docker run -d --name nexus3 \ --restart=always \ -p 8081:8081 \ # 映射Web端口 -p 8082-8085:8082-8085 \ # 可选,用于其他服务如Docker仓库 -v /opt/nexus-data:/nexus-data \ # 挂载数据卷,持久化存储 sonatype/nexus3 ``` - 参数说明: - `-v /opt/nexus-data:/nexus-data`:确保数据持久化,避免容器重启丢失。 - `--restart=always`:设置自动重启[^4]。 2. **验证和访问** - 等待1-2分钟容器启动完成,访问`http://localhost:8081`。 - 初始登录同上(用户名`admin`,密码在容器日志中查看,新版本需运行`docker exec nexus3 cat /nexus-data/admin.password`获取临时密码)[^4]。 #### 三、高级配置(可选) - **配置SSL证书**: - 生成或获取SSL证书(如Let's Encrypt),编辑`nexus.properties`添加HTTPS配置: ```properties application-port-ssl=8443 ssl.etc=/path/to/keystore.jks # 证书路径 ``` - 重启服务,访问`https://localhost:8443`[^3]。 - **配置Docker私有仓库**: - 在Nexus Web界面创建"Docker (Hosted)"仓库,设置HTTP端口(如8082)。 - 客户端配置:在Docker客户端添加`insecure-registries`(测试环境)或使用证书[^4]。 - **用户和权限管理**: - 在Web界面的"Security"中创建用户角色,分配仓库访问权限。 #### 四、验证安装 - 测试Maven仓库:在`pom.xml`中添加私有仓库URL,执行`mvn deploy`验证上传。 - 测试Docker仓库:运行`docker push localhost:8082/my-image`验证。 搭建完成后,Nexus可作为高效私有仓库,支持Maven、npm、Docker等多种格式[^1]。如果遇到问题,检查日志文件(路径如`sonatype-work/nexus/logs`)[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值