Nexus 介紹
Nexus 是一個強大的maven倉庫管理器,它極大地簡化了本地内部倉庫的維護和外部倉庫的通路。
不僅如此,他還可以用來建立yum、pypi、npm、docker、nuget、rubygems 等各種私有倉庫。
每次可重複且快速的建構:
輕松管理所有包裹
- 存儲和分發具有本機包管理器相容性的元件
- 支援 Java/Maven、npm、NuGet、PyPI、RubyGems、CocoaPods 等生态系統
- 分發打包和容器化的應用程式,例如 Docker、Helm、Yum 和 APT
- 與流行的 IDE 和 CI 相容,例如 Eclipse、IntelliJ、Visual Studio、Jenkins
目前作業系統版本&JDK版本
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[[email protected] ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Nexus下載下傳版本
下載下傳位址:https://help.sonatype.com/repomanager3/product-information/download
官方網址:https://www.sonatype.com/
解壓下載下傳檔案
[[email protected] ~]# tar xf nexus-3.39.0-01-unix.tar.gz
[[email protected] nexus]# ll
總用量 211156
drwxr-xr-x. 10 root root 181 6月 16 00:43 nexus-3.39.0-01
-rw-r--r--. 1 root root 216219704 6月 16 00:42 nexus-3.39.0-01-unix.tar.gz
drwxr-xr-x. 3 root root 20 6月 16 00:43 sonatype-work
# nexus-3.39.0-01 Nexus 運作所需要的檔案,如運作腳本,依賴jar包等
# sonatype-work 該目錄包含Nexus生成的配置檔案、日志檔案、倉庫檔案等
啟動Nexus
[[email protected] nexus]# cd nexus-3.39.0-01/bin/
[[email protected] bin]# ll
總用量 32
drwxr-xr-x. 2 root root 4096 6月 16 00:43 contrib
-rwxr-xr-x. 1 root root 18620 5月 19 21:15 nexus
-rw-r--r--. 1 root root 15 5月 19 21:15 nexus.rc
-rw-r--r--. 1 root root 1635 5月 19 21:15 nexus.vmoptions
[[email protected] bin]# ./nexus run &
如果出現如下表示啟動成功
-------------------------------------------------
Started Sonatype Nexus OSS 3.39.0-01
-------------------------------------------------
通路
遠端通路:http://192.168.160.12:8081
或本地通路 :http://127.0.0.1:8081
遠端通路防火牆可能會攔截,本地測試可以先把防火牆禁用。
[[email protected] ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2022-06-15 21:52:53 CST; 2h 56min ago
Docs: man:firewalld(1)
Main PID: 731 (firewalld)
CGroup: /system.slice/firewalld.service
└─731 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# systemctl disable firewalld.service
#目前版本是3.39.0-01(之前版本賬号和密碼自行查找)登入使用者名是admin,密碼位置在sonatype-work/nexus3/admin.password
[[email protected] nexus]# cd sonatype-work/nexus3/
[[email protected] nexus3]# ll
總用量 32
-rw-r--r--. 1 root root 36 6月 16 00:45 admin.password
drwxr-xr-x. 3 root root 21 6月 16 00:45 blobs
drwxr-xr-x. 333 root root 8192 6月 16 01:15 cache
drwxr-xr-x. 6 root root 113 6月 16 00:45 db
drwxr-xr-x. 3 root root 19 6月 16 00:45 elasticsearch
drwxr-xr-x. 3 root root 45 6月 16 00:44 etc
drwxr-xr-x. 2 root root 6 6月 16 00:44 generated-bundles
drwxr-xr-x. 2 root root 33 6月 16 00:44 instances
-rw-r--r--. 1 root root 4 6月 16 01:14 karaf.pid
drwxr-xr-x. 3 root root 18 6月 16 00:45 keystores
-rw-r--r--. 1 root root 14 6月 16 01:14 lock
drwxr-xr-x. 4 root root 145 6月 16 01:00 log
drwxr-xr-x. 3 root root 21 6月 16 00:43 orient
-rw-r--r--. 1 root root 5 6月 16 01:14 port
drwxr-xr-x. 2 root root 6 6月 16 00:45 restore-from-backup
drwxr-xr-x. 8 root root 4096 6月 16 01:15 tmp
[[email protected] nexus3]# cat admin.password
3a2ae1b6-530b-4756-a248-f30a1971a005
登入之後修改密碼為:admin
優化配置
設定開機自啟
[[email protected] bin]# ln -s /root/nexus/nexus-3.39.0-01/bin/nexus /etc/init.d/nexus3
[[email protected] bin]# chkconfig --add nexus3
[[email protected] bin]# chkconfig nexus3 on
配置運作使用者
[[email protected] bin]# useradd nexus
[[email protected] bin]# pwd
//root/nexus/nexus-3.39.0-01/bin
[[email protected] bin]# vim nexus.rc
run_as_user="nexus"
配置之後記得更改目錄權限,否則下次啟動會沒有權限。
[[email protected] nexus]# pwd
//root/nexus
[[email protected] nexus]# chown -R nexus.nexus nexus-3.39.0-01
[[email protected] nexus]# chown -R nexus.nexus sonatype-work/
配置jdk
[[email protected] bin]# pwd
//root/nexus/nexus-3.39.0-01/bin
[[email protected] bin]# cat nexus
#!/bin/sh
# chkconfig: 2345 75 15
# description: nexus
### BEGIN INIT INFO
# Provides: nexus
# Required-Start: $local_fs $network $remote_fs $syslog $time
# Required-Stop: $local_fs $network $remote_fs $syslog $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: nexus
### END INIT INFO
# Uncomment the following line to override the JVM search sequence
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=
修改端口
一般使用預設的,如果需要修改,則更改/root/nexus/nexus-3.39.0-01/etc/nexus-default.properties
參考網站:二丫講梵
https://wiki.eryajf.net/pages/1803.html官網網址
https://www.sonatype.com/products/repository-pro/trial