公司的代碼依賴是通過Maven進行管理的,而Maven的私庫我們使用的是Nexus,目前使用的版本是Nexus Repository Manager OSS 2.12.1。
但是由于之前我們搭建的Nexus伺服器就是在我們辦公室的一台空閑的Linux電腦上,雖然也穩定地使用兩年了,但是基于安全性考慮,準備将Nexus伺服器遷移到公司的機房伺服器去。
是以我需要在機房重新搭建Nexus伺服器,然後将辦公室上的Nexus伺服器遷移到機房伺服器。這一篇部落格先來記錄下Nexus伺服器的安裝過程。
Nexus是基于java語言開發的,所有在安裝Nexus2.12.1之前,我們需要配置Nexus2.12.1運作所需要的jdk環境。Nexus2.12.1需要的JDK版本為JDK7。
因為本機環境以及安裝過JDK了,正好版本為JDK7,這邊就不示範了。
Nexus Repository Manager OSS ,之前叫做 Nexus OS,是開源免費的。【OSS = Open Source Software,開源軟體——免費】
<a href="https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+OSS">https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+OSS</a>
Nexus Repository Manager,之前叫做 Nexus Professional。隻有擁有一個有效的許可證才可以使用所有功能【專業版本——收費】
<a href="https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+2">https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+2</a>
是以我們首先找到Nexus Repository Manager OSS 的下載下傳位址,如下所示:
然後向下滑動,找到與我們已經安裝好的對應的版本 Nexus Repository Manager OSS 2.12.1
然後我們下載下傳 nexus-2.12.1-01-bundle.tar.gz 壓縮包,右鍵複制好相應的下載下傳位址為
<a href="https://download.sonatype.com/nexus/oss/nexus-2.12.1-01-bundle.tar.gz">https://download.sonatype.com/nexus/oss/nexus-2.12.1-01-bundle.tar.gz</a>
然後我們在機房的Linux伺服器(我們的伺服器為CenterOS)上下載下傳該壓縮包,使用如下指令即可下載下傳。
等待幾分鐘即可下載下傳好壓縮包。這一次用時10m 41s下載下傳好了nexus-2.12.1-01-bundle.tar.gz
将nexus-2.12.1-01-bundle.tar.gz壓縮包解壓到/usr/local目錄下,使用如下指令
上面指令執行完後,nexus-2.12.1-01-bundle.tar.gz就解壓到了/url/local目錄下,使用如下指令即可檢視
然後我們進入到 nexus-2.12.1-01/ 目錄下
使用如下的指令,将nexus2.12.1加入到系統服務中
使用vim指令,修改/etc/init.d/nexus2檔案
這裡需要修改兩個變量值
NEXUS_HOME修改為Nexus的解壓目錄 /usr/local/nexus-2.12.1-01/
RUN_AS_USER修改為 root
在 /usr/local/nexus-2.12.1-01 目錄下執行下面的指令
需要将wrapper.java.command 設定為 java的真實路徑,我們先使用 cat /etc/profile指令,擷取到java的安裝目錄為 /usr/bin/java
是以wrapper.java.command 的值我們得設定為 /usr/java/bin/java
以上修改完畢後,我們再來修改nexus2.12.1監聽的端口,以及倉庫的存儲位置,如下:
通過vim指令修改 conf/nexus.properties檔案
将application-port設定為8081,将nexus-work設定為${bundleBasedir}/../sonatype-work/nexus,如下所示
好了,Nexus的安裝初步設定操作,完畢!
在啟動Nexus之前,我們先看看 Nexus有哪些指令?
敲如下的指令,可以看到nexus有的指令有 console | start | stop | restart | status | dump
使用如下指令啟動Nexus
/etc/init.d/nexus2 start
如下所示
通過日志我們可以看到 Nexus OSS 已經正常啟動了。
Nexus服務啟動之後,我們就可以通過浏覽器來通路Nexus了,在浏覽器進行通路。
通過上圖,我們可以很明顯的看到Nexus2.12.1已經正常啟動。
現在我們登入到Nexus2.12.1管理背景。
Nexus管理背景預設的管理者使用者名和密碼為admin/admin123
填好使用者名和密碼,點選LogIn,然後我們就可以看到如下所示的界面
點選左側菜單欄的Responsitories
然後就可以展開目前擁有的Responsitories
關于倉庫的截圖,放大部分如下所示:
一般用到的倉庫種類是hosted、proxy。
Hosted代表宿主倉庫,用來釋出一些第三方不允許的元件,比如Oracle驅動、比如商業軟體jar包。
Proxy代表代理遠端的倉庫,最典型的就是Maven官方中央倉庫、JBoss倉庫等等。如果建構的Maven項目本地倉庫沒有依賴包,那麼就會去這個代理站點去下載下傳,那麼如果代理站點也沒有此依賴包,就回去遠端中央倉庫下載下傳依賴,這些中央倉庫就是proxy。代理站點下載下傳成功後再下載下傳至本機。
預設情況下Nexus為我們建立了以下主要的Repository:
3rd party,該Repository即是存放你公司所購買的第三方軟體庫的地方,它是一個由Nexus自己維護的一個Repository。
Apache Snapshots,看名字你就應該知道這是個什麼樣的Repository,這是一個代理Repository,即最終的依賴還是得在Apache官網上去下載下傳,然後緩存在Nexus中。
Central,這就是代理Maven Central Repository的Repository。
Releases,你自己的項目要釋出時,就應該釋出在這個Repository,他也是Nexus自己維護的Repository,而不是代理。
Snapshots,你自己項目Snapshot的Repository。
<a href="http://blog.csdn.net/kinglyjn/article/details/53585721">http://blog.csdn.net/kinglyjn/article/details/53585721</a>
<a href="https://www.ilanni.com/?p=12366">https://www.ilanni.com/?p=12366</a>
<a href="http://blog.csdn.net/wang379275614/article/details/43940259/">http://blog.csdn.net/wang379275614/article/details/43940259/</a>
<a href="https://www.cnblogs.com/bingyeh/p/5913486.html">https://www.cnblogs.com/bingyeh/p/5913486.html</a>
作者:歐陽鵬 歡迎轉載,與人分享是進步的源泉!
如果覺得本文對您有所幫助,歡迎您掃碼下圖所示的支付寶和微信支付二維碼對本文進行随意打賞。您的支援将鼓勵我繼續創作!