1. 程式人生 > 其它 >Nexus安裝配置和使用

Nexus安裝配置和使用

Nexus安裝配置和使用

1.環境檢查

機器名:nexus1
ip地址:ip a: 192.168.122.88
hosts檔案:192.168.122.88 nexus1
selinux: disabled
firewalld: disabled
空間:/ 30G
OS: centos8.3
yum配置:yum list
yum cache rpm配置:/etc/yum.conf, cachedir=/rpmcache keepcache=1

2.檢查/安裝依賴包

官方安裝網站:sonatype.com
Nexus 是一個強大的maven倉庫管理器,它極大地簡化了本地內部倉庫的維護和外部倉庫的訪問。
不僅如此,他還可以用來建立yum、pypi、npm、docker、nuget、rubygems 等各種私有倉庫。
所支援的型別,可從下圖管窺:

如果使用了公共的 Maven 倉庫伺服器,可以從 Maven 中央倉庫下載所需要的構件(Artifact),但這通常不是一個好的做法。
正常做法是在本地架設一個 Maven 倉庫伺服器,即利用 Nexus 私服可以只在一個地方就能夠完全控制訪問和部署在你所維護倉庫中的每個 Artifact。
Nexus 在代理遠端倉庫的同時維護本地倉庫,以降低中央倉庫的負荷, 節省外網頻寬和時間,Nexus 私服就可以滿足這樣的需要。
Nexus 是一套 “開箱即用” 的系統不需要資料庫,它使用檔案系統加 Lucene 來組織資料。
Nexus 使用 ExtJS 來開發介面,利用 Restlet 來提供完整的 REST APIs,通過 m2eclipse 與 Eclipse 整合使用。
Nexus 支援 WebDAV 與 LDAP 安全身份認證。
Nexus 還提供了強大的倉庫管理功能,構件搜尋功能,它基於 REST,友好的 UI 是一個 extjs 的 REST 客戶端,它佔用較少的記憶體,基於簡單檔案系統而非資料庫。
如果沒有 Nexus 私服,我們所需的所有構件都需要通過 maven 的中央倉庫和第三方的 Maven 倉庫下載到本地,而一個團隊中的所有人都重複的從 maven 倉庫下載構件無疑加大了倉庫的負載和浪費了外網頻寬,如果網速慢的話,還會影響專案的程序。很多情況下專案的開發都是在內網進行的,連線不到 maven 倉庫怎麼辦呢?開發的公共構件怎麼讓其它專案使用?這個時候我們不得不為自己的團隊搭建屬於自己的 maven 私服,這樣既節省了網路頻寬也會加速專案搭建的程序,當然前提條件就是你的私服中擁有專案所需的所有構件。
總之,在本地構建 nexus私服的好處有:

3,安裝jdk-1.8。

nexus的安裝依賴jdk環境。最好安裝1.8版本的,否則可能會遇到其他不可知問題。此安裝不再贅述。
yum install java-1.8.0-openjdk-devel

設定limits.conf
nexus - nofile 65536

4,部署nexus。

1,解壓。

  1. [root@nexus mnt]$tar xf nexus-3.12.1-01-unix.tar.gz
  2. [root@nexus mnt]$ls
  3. nexus-3.12.1-01 nexus-3.12.1-01-unix.tar.gz sonatype-work
    下載到指定目錄並解壓,我們可以看到解壓後有通常兩個檔案。
    nexus-x.x.x Nexus執行所需要的檔案,如執行指令碼,依賴jar包等
    sonatype-work 該目錄包含Nexus生成的配置檔案、日誌檔案、倉庫檔案等

2,啟動。

  1. cd /mnt/nexus-3.12.1-01/bin
  2. ./nexus run &
    大概等待一分鐘左右,如果在日誌輸出當中看到如下顯示,則說明啟動成功。
-------------------------------------------------

	Started Sonatype Nexus OSS 3.12.1-01
-------------------------------------------------

3,訪問。

預設監聽埠為8081,預設使用者名稱密碼為admin/admin123,因此可以訪問以下首頁並登陸。
192.168.157.110:8081
這裡直接訪問了,一般內部使用,就不開啟防火牆神馬的了。

5,優化配置。

1,設定開機自啟。

ln -s /mnt/nexus-3.12.1-01/bin/nexus /etc/init.d/nexus3
chkconfig --add nexus3
chkconfig nexus3 on

2,配置執行使用者。

這個地方可以使用root執行,不過官方文件裡邊也不建議使用root來執行,因此使用普通使用者來執行。

	[root@nexus ~]$useradd nexus
	[root@nexus bin]$vim nexus.rc
	run_as_user="nexus"
更改目錄許可權,否則下次啟動會沒有許可權。
[root@nexus mnt]$chown -R nexus.nexus /mnt/nexus-3.12.1-01
[root@nexus mnt]$chown -R nexus.nexus /mnt/sonatype-work

3,配置jdk。

如果這裡不配置,一般會使用預設的JAVA_HOME的變數,如果系統中有多個,那麼可以進行配置。

[root@nexus bin]$vim nexus
修改第14行:
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144

4,修改埠。

一般使用預設的,如果需要修改,則更改/mnt/nexus-3.12.1-01/etc/nexus-default.properties裡邊的配置。
這裡不做修改了。

5,配置儲存及日誌位置。

[root@nexus bin]$vim /mnt/nexus-3.12.1-01/bin/nexus.vmoptions
一般都不做修改,使用預設即可,這裡列出是為了瞭解這個點。
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp

配置完畢之後,重啟一下服務。

6,啟動之後,解決一個小問題。

注意左上角會有一個告警,這個告警的意思是系統預設的最大檔案控制代碼太小了。
解決辦法官網也已經給出了:解決檔案控制代碼限制。
因此我們照官方解決辦法來做:
ho "nexus - nofile 65536" >> /etc/security/limits.conf

在次重啟服務即可