nexus安装与基本配置(centos7)

 首页 > 运维 > Linux > nexus安装与基本配置(centos7) 201905-27nexus安装与基本配置(centos7) shooter Linux, nexus 围观1210次已关闭评论 编辑日期:2021-05-30 字体:大 中 小1....

1.环境准备


JDK必须已经安装,安装方法自行搜索

安装包下载:
链接:https://pan.baidu.com/s/1-LqM3keG5eCd0r8Pn3f_lw
提取码:0zu5


2.安装


下载后二进制包进行解包后包括两个文件夹如下:


mkdir-p/usr/local/nexus/
tar-xzvf nexus-3.19.1-01-unix.tar.gz-C/usr/local/nexus/
重命名nexus-3.16.1-02为nexus
cd/usr/local/nexus/&& mvnexus-3.19.1-01nexus


3.配置启动用户



#useradd -s /sbin/nologin nexus
useradd nexus
chown-Rnexus:nexus/usr/local/nexus/

vim/usr/local/nexus/nexus/bin/nexus.rc
 
run_as_user="nexus"
修改jdk环境变量

vim/usr/local/nexus/nexus/bin/nexus

INSTALL4J_JAVA_HOME_OVERRIDE=/opt/jdk1.8.0/
注意这里的Nexus 3++版本 必须要大于或者等于Jdk1.8, 否则会报如下错误


5月2523:30:46minio2 systemd[1]:nexus.service:control process exited,code=exited status=83
5月2523:30:46minio2 nexus[3275]:No suitable Java Virtual Machine could be found on your system.
5月2523:30:46minio2 nexus[3275]:The version of the JVM must be1.8.
5月2523:30:46minio2 nexus[3275]:Please define INSTALL4J_JAVA_HOME topoint toasuitable JVM.

这里说的很清楚,必须最低是Jdk1.8。

[root@minio2~]# java -version
java version"1.8.0_231"
Java(TM)SE Runtime Environment(build1.8.0_231-b11)
Java HotSpot(TM)64-Bit Server VM(build25.231-b11,mixed mode)


4.配置环境变量



注:centos配置环境变量时使用${NEXUS_HOME},必须加大括号

vim/etc/profile

export NEXUS_HOME=/usr/local/nexus/nexus
export PATH=${NEXUS_HOME}/bin:$PATH

source/etc/profile

启动:
/usr/local/nexus/nexus/bin/nexus start
/usr/local/nexus/nexus/bin/nexus stop


5.添加启动服务

[使用服务方式貌似启动不了,正在找原因]


vim/usr/lib/systemd/system/nexus.service

[Unit]
Description=nexus service
After=network.target
 
[Service]
Type=forking
LimitNOFILE=65536
User=nexus
Group=nexus
ExecStart=/usr/local/nexus/nexus/bin/nexus start
ExecStop=/usr/local/nexus/nexus/bin/nexus stop
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

6.启动服务


 
systemctl enable nexus.service
systemctl start nexus.service
systemctl status nexus.service
systemctl stop nexus.service
systemctl daemon-reload

7. 检查服务



systemctl status nexus.service

8. 访问web


http://192.168.0.66:8081/#browse/search/custom

#你的密码在下面这个路径下存放
Your admin user password is located in
/usr/local/nexus/sonatype-work/nexus3/admin.password on the server.
 
vim /usr/local/nexus/sonatype-work/nexus3/admin.password
 
复制密码用于登录,默认用户admin
nexus的基本使用配置

1.登录后的界面如下:



(1)默认仓库说明:
maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar

maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy

maven-snapshots:私库快照(调试版本)jar

maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用

(2)仓库类型说明:
group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。
hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件
snapshots:公司内部测试版本仓库
releases: 公司本地项目发布的正式版本
proxy:代理仓库,用于代理远程的公共仓库,如maven中央仓库,用户连接私服,私服自动去中央仓库下载jar包或者插件。
central:中央仓库

 
(1)默认仓库说明:
maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar
 
maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy
 
maven-snapshots:私库快照(调试版本)jar
 
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用
 
(2)仓库类型说明:
group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。
hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件
snapshots:公司内部测试版本仓库
releases: 公司本地项目发布的正式版本
proxy:代理仓库,用于代理远程的公共仓库,如maven中央仓库,用户连接私服,私服自动去中央仓库下载jar包或者插件。
central:中央仓库attachments-2023-11-PI2UWNJG6560d3faa7ee5,png
attachments-2023-11-43wDu8f96560d4205f090,png

2.接下来我们增加一个代理仓库,使用的是阿里云公共仓库。首先点击“Create repository”按钮开始创建一个仓库:

attachments-2023-11-1ISDrfQ46560d47a291d7,png

attachments-2023-11-xTYSxExQ6560d484b51a4,png

4. 配置阿里云地址 

url:

http://maven.aliyun.com/nexus/content/groups/public/,

name 可以随意填(这里我写 aliyun-proxy),

#阿里云url可以去这里获取最新的

https://maven.aliyun.com/mvn/guide

url:

http://maven.aliyun.com/nexus/content/groups/public/,

name 可以随意填(这里我写 aliyun-proxy),

#阿里云url可以去这里获取最新的

https://maven.aliyun.com/mvn/guide


attachments-2023-11-G1Z9bKQA6560d5f3c204a,png
然后点击最下方按钮创建:attachments-2023-11-oJucJGlg6560d60d80410,png
5. 阿里云代理仓库创建完毕后,我们编辑 maven-public,将其添加到放入 group 中,并调整优先级,然后保存:
attachments-2023-11-N7vxPIgt6560d62428d92,png
attachments-2023-11-6GNK5dqb6560d6367a7aa,png
6. 点击 maven-public 条目的 copy 按钮即可拷贝私服地址:
attachments-2023-11-Uhwae6HF6560d64aed589,png

附一:Maven 配置使用私服(下载依赖)


1,基本说明

Maven 配置私服下载有两种方式:

setting.xml:该文件配置的是全局模式
pom.xml:该文件的配置的是项目独享模式
注意:若 pom.xml 和 setting.xml 同时配置了,以 pom.xml 为准。

当我们在 maven 使用 maven-public 仓库地址的时候,会按照如下顺序访问:本地仓库 --> 私服 maven-releases --> 私服 maven-snapshots --> 远程阿里云 maven 仓库 --> 远程中央仓库。

注意:若 pom.xml 和 setting.xml 同时配置了,以 pom.xml 为准。
 
当我们在 maven 使用 maven-public 仓库地址的时候,会按照如下顺序访问:本地仓库 --> 私服 maven-releases --> 私服 maven-snapshots --> 远程阿里云 maven 仓库 --> 远程中央仓库。

2.通过 setting.xml 文件配置

(1)setting.xml 文件配置样例如下。配置后不需要再配置 pom.xml 文件,即可通过私服下载 jar 依赖包。

<mirrors>
    <mirror>
        <!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
        <id>maven-public</id>
        <!--镜像名称 -->
        <name>maven-public</name>
        <!--*指的是访问任何仓库都使用我们的私服-->
        <mirrorOf>*</mirrorOf>
        <!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
        <url>http://192.168.66.178:8081/repository/maven-public/</url>     
    </mirror>
</mirrors>

(2)如果我们并没有搭建私服,属于个人开发,那么也可以直接配置使用阿里 云maven 仓库:

<mirror>
  <id>nexus-aliyun</id>
  <name>Nexus aliyun</name>
  <mirrorOf>*</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

(1)setting.xml 文件配置样例如下。配置后不需要再配置 pom.xml 文件,即可通过私服下载 jar 依赖包。
 
<mirrors>
    <mirror>
        <!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
        <id>maven-public</id>
        <!--镜像名称 -->
        <name>maven-public</name>
        <!--*指的是访问任何仓库都使用我们的私服-->
        <mirrorOf>*</mirrorOf>
        <!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
        <url>http://192.168.66.178:8081/repository/maven-public/</url>     
    </mirror>
</mirrors>
 
(2)如果我们并没有搭建私服,属于个人开发,那么也可以直接配置使用阿里 云maven 仓库:
 
<mirror>
  <id>nexus-aliyun</id>
  <name>Nexus aliyun</name>
  <mirrorOf>*</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

3.通过 pom.xml 文件配置

(1)pom.xml 文件配置样例如下。如果我们配置了 pom.xml,则以 pom.xml 为准。


<repositories>
    <repository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://192.168.66.178:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

(2)如果没有私服,我们同样也可以配置阿里云 maven 仓库:

<repositories>
   <repository>
      <id>maven-aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <releases>
         <enabled>true</enabled>
      </releases>
      <snapshots>
         <enabled>true</enabled>
         <updatePolicy>always</updatePolicy>
         <checksumPolicy>fail</checksumPolicy>
      </snapshots>
   </repository>
</repositories>


(1)pom.xml 文件配置样例如下。如果我们配置了 pom.xml,则以 pom.xml 为准。
 
 
<repositories>
    <repository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://192.168.66.178:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
 
(2)如果没有私服,我们同样也可以配置阿里云 maven 仓库:
 
<repositories>
   <repository>
      <id>maven-aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <releases>
         <enabled>true</enabled>
      </releases>
      <snapshots>
         <enabled>true</enabled>
         <updatePolicy>always</updatePolicy>
         <checksumPolicy>fail</checksumPolicy>
      </snapshots>
   </repository>
</repositories>

附二:Maven 配置使用私服(下载插件)

下面是一个使用 pom.xml 配置样例:

<pluginRepositories>
    <pluginRepository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://192.168.66.178:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>


下面是一个使用 pom.xml 配置样例:
 
<pluginRepositories>
    <pluginRepository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://192.168.66.178:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

附三:Maven 配置使用私服(发布依赖)

(1)接着在项目的 pom.xml 文件中加入 distributionManagement 节点:(注意:repository 里的 id 需要和上一步里的 server id (releases)名称保持一致。)

<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>http://192.168.66.178:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshot</name>
        <url>http://192.168.66.178:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

(2)然后修改 mavensetting.xml 文件,指定 releases 和 snapshots server 的用户名和密码:

<servers>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>123</password>
    </server>
</servers>

(3)执行 mvn deploy 命令发布:

   然后登录 Nexus,查看对应的仓库已经有相关的依赖包了。


(1)接着在项目的 pom.xml 文件中加入 distributionManagement 节点:(注意:repository 里的 id 需要和上一步里的 server id (releases)名称保持一致。)
 
<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>http://192.168.66.178:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshot</name>
        <url>http://192.168.66.178:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>
 
(2)然后修改 mavensetting.xml 文件,指定 releases 和 snapshots server 的用户名和密码:
 
<servers>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>123</password>
    </server>
</servers>
 
(3)执行 mvn deploy 命令发布:
 
   然后登录 Nexus,查看对应的仓库已经有相关的依赖包了。
发布到的仓库说明:
*若项目版本号末尾带有 -SNAPSHOT,则会发布到 snapshots 快照版本仓库
*若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到 releases 正式版本仓库


发布到的仓库说明:
*若项目版本号末尾带有 -SNAPSHOT,则会发布到 snapshots 快照版本仓库
*若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到 releases 正式版本仓库

  • 发表于 2023-11-25 00:39
  • 阅读 ( 455 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章