手把手教你安裝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搭建maven私服
- 首次登陸,系統會提示你admin的密碼存放在服務端某個文件中。(根據提示修改密碼即可)
- 登陸admin後,可以點擊上面的“設置”圖標,在“設置”裏可以添加用戶
- 創建倉庫:
- 創建proxy倉庫 作用是去遠程拉取jar包
- 創建hosted倉庫 作用是存放本地上傳的三方jar包
- 創建group倉庫 作用是將proxy和hosted放到這個組裏,進行統一管理
proxy建議配置阿里雲maven地址:http://maven.aliyun.com/nexus/content/groups/public
- 這裏多提一個小知識!!!有的時候,我們會用到第三方倉庫作爲proxy,此時需要配置Routing Rules,即聲明什麼jar該從什麼proxy下載。此處以jeecg倉庫爲例:
意思就是所有下載路徑包含
/org/jeecgframework/
的jar,全部去jeecg proxy下載
意思就是所有下載路徑包含
/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包
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/
參考文檔
- System Requirements
- Nexus Repository Manager - Proxying Maven and npm Quick Start
- Linux搭建Nexus3.X私服
- 使用nexus搭建npm私服
備註
- 文章寫得不是很詳細,具體可以通過實際操作,總結經驗,不喜勿噴。