Centos下利用nexus搭建私有仓库

编程

一、下载安装

下载

服务器为centos,去 https://www.sonatype.com/download-oss-sonatype 下载unix版本的。

安装

  • 解压

tar xvf nexus-3.21.1-01-unix.tar.gz

mv nexus-3.21.1-01 /home/nexus

  • 开启端口

    默认会在8081端口启动,因为我的8081端口已被使用,改用8082端口。

firewall-cmd --zone=public --add-port=8082/tcp --permanent

firewall-cmd --reload

  • 创建nexus的运行用户

adduser nexus # 创建用户

passwd nexus # 改密码

给nexu用户加权限

vi /etc/sudoers

chmod u+w /etc/sudoers

添加

nexus ALL=(ALL) ALL

保存后撤回写的权限

chmod u-w /etc/sudoers

修改nexus目录的所有者

chown -R nexus /home/nexus

二、运行

修改配置文件

cd /home/nexus/etc/

vim nexus-default.properties

改为

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties

##

# Jetty section

application-port=8082

application-host=0.0.0.0

nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml

nexus-context-path=/

# Nexus section

nexus-edition=nexus-pro-edition

nexus-features=

nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true

启动

  • 运行

cd /home/nexus/bin/

./nexus start #启动

./nexus restart

./nexus stop

./nexus run

显示nexus is runing 说明已经运行。

  • 改运行用户

nexus不建议用root用户启动。我们用nexus用户来运行他。

进入到nexus的bin目录

编辑下面这个文件

vi nexus.rc

改为 run_as_user="nexus",注意把前面的注释符号给去掉。

  • 给nexus的启动文件添加java_home(可选)

在nexus的bin目录下打开nexus的启动文件

输入下面的命令

vi nexus

然后在开头找到下面这句代码,取消注释,添加上jdk地址

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64

添加systemctl启动服务

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

写入

[Unit] 

Description = nexus service

After = network.target

[Service]

Type = forking

LimitNOFILE = 65536

ExecStart = /home/nexus/bin/nexus start

ExecReload= //home/nexus/bin/nexus restart

ExecStop = /home/nexus/bin/nexus stop

User = nexus

Restart = on- abort

[Install]

WantedBy = multi-user.target

分别执行下面的命令

systemctl daemon-reload

systemctl enable nexus.service

systemctl start nexus.service

然后在浏览器输入http://ip:8082

然后点击登陆输入账号admin 密码admin123

三、使用

在本地配置maven的settings.xml

vi ~/.m2/settings.xml

在根节点加入servers配置

<servers>

<server>

<id>snapshots</id>

<username>admin</username>

<password>admin123</password>

</server>

<server>

<id>releases</id>

<username>admin</username>

<password>admin123</password>

</server>

</servers>

用于在执行mvn deploy时进行授权。这是用admin用户,也可以在nexus中创建新的用户和角色来授权。

同时,需要在nexus中放开匿名访问权限,否则在访问maven-public进行拉取的时候会报"Not Authorized"错误。

pom.xml配置

  • 包发布配置

	<distributionManagement>

<snapshotRepository>

<id>snapshots</id>

<url>http://1.2.3.4:8082/repository/maven-snapshots/</url>

</snapshotRepository>

<repository>

<id>releases</id>

<url>http://1.2.3.4:8082/repository/maven-releases/</url>

</repository>

</distributionManagement>

  • 拉取仓库配置

	<repositories>

<repository>

<id>nexus</id>

<name>nexus repository</name>

<url>http://1.2.3.4:8082/repository/maven-public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

以上是 Centos下利用nexus搭建私有仓库 的全部内容, 来源链接: utcz.com/z/514466.html

回到顶部