nexus3私库环境搭建(maven,yum,apt,nodejs)

2,599 阅读3分钟

一.nexus3私库环境搭建(maven,yum,apt,nodejs)

Nexus3是一个仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问,平常我们在获取maven仓库资源的时候,都是从maven的官方(或者国内的镜像)获取,但假如你的生产环境的服务器无互联网访问权限,此时需要在局域网一个有互联网访问权限的服务器上搭建一个私有的仓库,这样其他有互联网访问权限的服务器可以通过已搭建的私库仓库来下载安装如Maven、apt、yum、gradle、pypi、docker等等,就像是直接通过互联网下载一样。

Nexus支持:
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,
Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus支持WebDAV与LDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,基于REST,占用较少的内存,基于简单文件系统而非数据库。

1.jdk安装

nexus3是由Java开发的,需要先安装好Jdk

准备好jdk-8u191-linux-x64.tar.gz

########解压到/usr/local目录下:
tar -xvf jdk-8u191-linux-x64.tar.gz -C /usr/local

########配置JDK环境变量
cat >> /etc/profile << EOF

export JAVA_HOME=/usr/local/jdk1.8.0_191/
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF

########执行环境变量生效
source /etc/profile

########查看
java -version

2.nexus软件安装

以安装nexus-3.29为例,准备好nexus-3.29.1-01-unix.tar.gz

########解压
mkdir /usr/local/nexus3
tar -xvf nexus-3.29.1-01-unix.tar.gz -C /usr/local/nexus3

结果如下,其中nexus-3.29.1-01为程序,sonatype-work为数据目录

[root@localhost nexus3]# cd /usr/local/nexus3/
[root@localhost nexus3]# ls -hl
total 0
drwxr-xr-x. 9 root root 163 Jun 28 10:47 nexus-3.29.1-01
drwxr-xr-x. 3 root root  20 Jun 28 10:47 sonatype-work

3.修改配置

Jvm相关的配置在/usr/local/nexus3/nexus-3.29.1-01/bin/nexus.vmoptions

  1. 比如内存比较少,则调整下VM参数,参考值如

-Xms500M -Xmx500M -XX:MaxDirectMemorySize=800M

  1. 默认的存储目录在安装目录下的nexus-3.29.1-01,比如要修改这个到别处,则修改nexus.vmoptions中的karaf.data,karaf.log,java.io.tmpdir等值

-Dkaraf.data=../sonatype-work/nexus3
-Dkaraf.log=../sonatype-work/nexus3/log
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp

  1. 比如要修改修改默认8081端口变成80, 或上下文工程路径,修改文件/usr/local/nexus3/nexus-3.29.1-01/etc/nexus-default.properties

端口修改:

sed -i 's/application-port=8081/application-port=80/' /usr/local/nexus3/nexus-3.29.1-01/etc/nexus-default.properties

nexus-context-path修改

sed -i 's/nexus-context-path=//nexus-context-path=/nexus3/' /usr/local/nexus3/nexus-3.29.1-01/etc/nexus-default.properties

4.启动,重启,停止

/usr/local/nexus3/nexus-3.29.1-01/bin/nexus start
/usr/local/nexus3/nexus-3.29.1-01/bin/nexus restart
/usr/local/nexus3/nexus-3.29.1-01/bin/nexus stop

5.访问测试

测试时我将/nexus-context-path修改为了/nexus3,因此访问地址如下: http://192.168.56.101:8081/nexus3/ admin admin123 在这里插入图片描述

二、maven,yum,apt,docker,npm私库搭建

Maven私库:

maven.aliyun.com/repository/… maven.aliyun.com/repository/… maven.aliyun.com/repository/… maven.aliyun.com/repository/…

Yum私库:

新建代理仓库,在nexus管理界面上新建代理,测试过的代理如下:
Proxy Remote storage:
docker-ce ---> mirrors.aliyun.com/docker-ce/l…
kubernetes ---> mirrors.aliyun.com/kubernetes/

centos ---> mirrors.aliyun.com/centos
epel -----> download.fedoraproject.org/
docker --googlecontainer--->>> registry.aliyuncs.com/
nginx -----> nginx.org/
enterprise -----> rpms.remirepo.net/enterprise
mysql ------> repo.mysql.com/
google-chrome ------> dl.google.com/

apt-proxy

Name: apt-proxy
Distribution: bionic
Remote Stroage: mirrors.aliyun.com/ubuntu/

docker私库设置

##新建docker_google_containers
docker --googlecontainer--->>> registry.aliyuncs.com
remote storeage: registry.aliyuncs.com/
customer index: registry-1.docker.io

##Realms--->>> Docker Bearer Token Realm移到Active然后保存

npm npm-repo-proxy

Name: npm-repo-proxy
Remote storage: registry.npmjs.org

3.私库使用

Yum私库

备份旧配置,执行新配置,然后yum clean all清除缓存,然后进行正常的yum install操作即可

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak

##################
cat > /etc/yum.repos.d/centos.repo << EOF
[centos_os]
name=centos_os
baseurl=http://192.168.56.1:8081/nexus3/repository/centos/7/os/x86_64/
enabled=1
gpgcheck=0

[centos_extras]
name=centos_extras
baseurl=http://192.168.56.1:8081/nexus3/repository/centos/7/extras/x86_64/
enabled=1
gpgcheck=0

[centos_update]
name=centos_update
baseurl=http://192.168.56.1:8081/nexus3/repository/centos/7/updates/x86_64/
enabled=1
gpgcheck=0

[centos_centosplus]
name=centos_centosplus
baseurl=http://192.168.56.1:8081/nexus3/repository/centos/7/centosplus/x86_64/
enabled=1
gpgcheck=0
EOF

##################
cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=epel
baseurl=http://192.168.56.1:8081/nexus3/repository/epel/pub/epel/7/x86_64/
enabled=1
gpgcheck=0
EOF

##################
cat > /etc/yum.repos.d/nginx.repo << EOF
[epel]
name=epel
baseurl=http://192.168.56.1:8081/nexus3/repository/nginx/packages/centos/7/x86_64/
enabled=1
gpgcheck=0
EOF

##################
cat > /etc/yum.repos.d/remi-safe.repo << EOF
[remi-safe]
name=Safe Remi's RPM repository for Enterprise Linux 7 - x86_64
baseurl=http://192.168.56.1:8081/nexus3/repository/enterprise/7/safe/x86_64/
enabled=1
gpgcheck=0
EOF


##################
cat > /etc/yum.repos.d/docker-ce.repo << EOF
[docker-ce-stable]
name=Docker CE Stable - 
baseurl=http://192.168.56.1:8081/nexus3/repository/docker-ce/7/x86_64/stable
enabled=1
gpgcheck=0
EOF


##################
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernets]
name=kubernets
baseurl=http://192.168.56.1:8081/nexus3/repository/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF


##################Mysql5.7
cat > /etc/yum.repos.d/mysql.repo << EOF
[mysql-connectors-community]
name=mysql-connectors-community
baseurl=http://192.168.56.1:8081/nexus3/repository/mysql/yum/mysql-connectors-community/el/7/x86_64/
enabled=1
gpgcheck=0

[mysql-tools-community]
name=mysql-tools-community
baseurl=http://192.168.56.1:8081/nexus3/repository/mysql/yum/mysql-tools-community/el/7/x86_64/
enabled=1
gpgcheck=0

[mysql57-community]
name=mysql57-community
baseurl=http://192.168.56.1:8081/nexus3/repository/mysql/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF

##################Google-chrome
cat > /etc/yum.repos.d/google-chrome.repo << EOF
[google-chrome]
name=google-chrome
baseurl=http://192.168.56.1:8081/nexus3/repository/google-chrome/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=0
EOF

apt私库:

##################

sudo mv /etc/apt/sources.list /etc/apt/sources.list.default

cat > /etc/apt/sources.list << EOF
deb http://192.168.56.1:8081/nexus3/repository/apt-proxy/ bionic main restricted universe multiverse
deb http://192.168.56.1:8081/nexus3/repository/apt-proxy/ bionic-security main restricted universe multiverse
deb http://192.168.56.1:8081/nexus3/repository/apt-proxy/ bionic-updates main restricted universe multiverse
deb http://192.168.56.1:8081/nexus3/repository/apt-proxy/ bionic-proposed main restricted universe multiverse
deb http://192.168.56.1:8081/nexus3/repository/apt-proxy/ bionic-backports main restricted universe multiverse
EOF

sudo apt update

####可以开始使用了