手把手教你安裝Nexus

手把手教你安裝Nexus

爲什麼要構建Nexus私服

  • 如果沒有Nexus私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的Maven倉庫下載到本地,而一個團隊中的所有人都重複的從maven倉庫下載構件無疑加大了倉庫的負載和浪費了外網帶寬,如果網速慢的話,還會影響項目的進程。
  • 很多情況下項目的開發都是在內網進行的,連接不到maven倉庫怎麼辦呢?開發的公共構件怎麼讓其它項目使用?這個時候我們不得不爲自己的團隊搭建屬於自己的maven私服,這樣既節省了網絡帶寬也會加速項目搭建的進程。

Nexus安裝環境

  • 介質:nexus-3.19.1-01
  • 操作系統:CentOS7+
  • 硬件: 4C-8G-40G
  • 軟件:JDK8+
  • 用戶權限:
    • 使用專用的操作系統用戶帳戶在給定主機上運行nexus。新建用戶:nexus,密碼:nexus

    • 足夠的文件句柄限制:確保用戶的打開文件描述符數量限制增加到65,536或更高(/etc/security/limits.conf)

Nexus安裝步驟

  • 下載地址:https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.19.1-01-unix.tar.gz

下載需要翻牆

  • root用戶登錄服務器創建nexus用戶並授權
groupadd nexus
useradd nexus -g nexus
passwd nexus
提示輸入密碼:nexus
再次輸入密碼:nexus

mkdir -p /usr/local/nexus/
chown -R nexus:nexus /usr/local/nexus/
chmod 777 /usr/local/nexus/
  • nexus用戶登錄服務器,上傳nexus-3.19.1-01-unix.tar.gz至/usr/local/nexus/目錄,並解壓
cd /usr/local/nexus/ && tar -zxvf nexus-3.19.1-01-unix.tar.gz

mv nexus-3.19.1-01 nexus
  • 修改nexus啓動初始化內存(不是必須的,視服務器配置決定,4C8G則不需要修改
vi /usr/local/nexus/nexus/bin/nexus.vmoptions(默認2700m)
  • 修改nexus端口(不是必須的,默認監聽端口8081
vi /usr/local/nexus/nexus/etc/nexus-default.properties
  • 啓動:
cd /usr/local/nexus/nexus/bin && ./nexus start
或者
cd /usr/local/nexus/nexus/bin && ./nexus run &

啓動成功的提示:Starting nexus
----------------------------------------------
如果是root用戶啓動,則會提示:
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Starting nexus
說明已經安裝啓動成功,上面報錯意思是nexus建議不要用root用戶來啓動nexus,但並不影響啓動
  • 檢查nexus進程:
ps -ef | grep nexus
  • nexus日誌目錄:/usr/local/nexus/sonatype-work/nexus3/log

  • 瀏覽器直接訪問:http://ip:port

Nexus
在這裏插入圖片描述

Nexus搭建maven私服

  • 首次登陸,系統會提示你admin的密碼存放在服務端某個文件中。(根據提示修改密碼即可)
  • 登陸admin後,可以點擊上面的“設置”圖標,在“設置”裏可以添加用戶

在這裏插入圖片描述

  • 創建倉庫:
    • 創建proxy倉庫 作用是去遠程拉取jar包

proxy

- 創建hosted倉庫 作用是存放本地上傳的三方jar包
- 創建group倉庫 作用是將proxy和hosted放到這個組裏,進行統一管理

Group

proxy建議配置阿里雲maven地址:http://maven.aliyun.com/nexus/content/groups/public

  • 這裏多提一個小知識!!!有的時候,我們會用到第三方倉庫作爲proxy,此時需要配置Routing Rules,即聲明什麼jar該從什麼proxy下載。此處以jeecg倉庫爲例:

Routing Rules

jeecg路由規則

意思就是所有下載路徑包含/org/jeecgframework/的jar,全部去jeecg proxy下載

aliyun路由規則

意思就是所有下載路徑包含/org/jeecgframework/的jar,全部禁止從aliyun proxy下載

  • maven設置settings:
<mirror>
     <id>nexus-xu</id>
     <name>internal nexus repository</name>
     <url>http://ip:8081/repository/java-group/</url>
     <mirrorOf>!internal.repo,*</mirrorOf>
</mirror>
  • 然後build項目,查看項目是否從私服下載jar包

私服jar管理
jar包管理

Nexus搭建npm私服

此處搭建過程同上

  • 創建倉庫:
    • proxy(代理倉庫):可以代理npm和淘寶鏡像
    • 創建hosted(私有倉庫):用於發佈個人開發的npm組件
    • 創建group(組合倉庫):對外公開的倉庫,集合了hosted和proxy

proxy建議配置淘寶鏡像:https://registry.npm.taobao.org

  • 客戶端設置npm:npm config set registry http://ip:8081/repository/npm-group/

參考文檔

備註

  • 文章寫得不是很詳細,具體可以通過實際操作,總結經驗,不喜勿噴。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章