Maven搭建Nexus私服
私服的介紹
1 什么是私服
私服是一種特殊的遠程倉庫,它是架設在局域網的倉庫服務,私服代理廣域網上的遠程倉庫,供局域網使用。
在企業開發中,私服的建設是有必要的,其好處如下:
1.1 節省資金、外網帶寬
利用私服代理外部倉庫之后,對外的重復構件下載便得以簡化,降低外網帶寬壓力。
1.2 加速Maven構建
不停地連接請求外部倉庫是相當耗時的,但是 maven 的一些內部機制(如快照更新檢查)要求 Maven 在執行構建的時候不停地檢查遠程倉庫數據。因此,當項目配置了很多外部遠程倉庫的時候,構建速度會降低。使用私服解決這問題,因為 Maven 只需要檢查局域網內私服的數據時,構建速度便有明顯提高。
1.3 部署第三方構件
當某個構件無法從任何一個遠程倉庫獲取怎么辦?比如 Oracle 的 JDBC 驅動由于版權原因不能發布到公共倉庫中。建立私服后,便可以將這些構件部署到這個內部倉庫中,供內部 Maven 項目使用。
1.4 提高穩定性,增強控制
對于遠程倉庫來說,當外網不可用時,Maven 構建有可能因為依賴沒有下載而不可行, 搭建并應用私服后,即使沒有外網,如果該構件之前被其它人下載過就會存在私服上,此時再次依賴該構件就可以不用連接外網直接就可以從私服上下載到。同時私服軟件(nexus)還提供了額外的管理功能。
1.5降低中央倉庫的負荷
中央倉庫是有限的。如果所有的 Maven 工程開發過程中,都通過中央倉庫實現構件的依賴和管理,那么中央倉庫的負荷過高,也會嚴重影響工程構建的效率。如果使用私服,可以分散中央倉庫的負荷,只有在私服中沒有需要依賴的構件時才會去連接中央倉庫。
2 nexus私服搭建
2.1搭建環境
環境:CentOS6.5、JDK7、Sonatype Nexus、Maven(Eclipse 或 MyEclipse)
2.2搭建步驟
2.2.1安裝JDK
在 Linux 中安裝應用的常用目錄為:/opt 或/usr/local 目錄。本課件將 JDK 安裝到
/usr/local/java 目錄中。
解壓JDK 到指定目錄:
tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local
重命名JDK 目錄:
mv /usr/local/jdk1.7.0_80 /usr/local/java
2.2.2 環境變量配置
修改/etc/profile 配置文件,增加環境變量配置。
環境變量修改后,可以重啟 Linux 實現永久生效;或執行 source /etc/profile 命令,讓新修改的環境變量在當前終端中生效。
3 安裝私服Nexus
3.1 Nexus資源包下載
Nexus 官 方 下 載 地 址 為 : https://www.sonatype.com/nexus-repository-oss 本課件應用版本為:nexus-2.11.2-03
3.2 Nexus資源包解壓
在/usr/local 目錄中創建子目錄 nexus: mkdir /usr/local/nexus
解壓Nexus 到指定目錄:
tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C /usr/local/nexus
3.3 目錄介紹:
Nexus 壓縮包中包含兩個子目錄: nexus-2.11.2-03 和sonatype-work
nexus-2.11.2-03 是具體的私服應用內容,sonatype-work 是Nexus 私服下載的構件存放工作目錄。
3.3 檢查私服端口和工作目錄
在 nexus-2.11.2-03 目錄中有子目錄 conf ,其中保存私服應用的配置信息。查看nexus.properties 文件,確定私服訪問端口和工作目錄。此操作可不做任何內容修改。配置文件內容如下:
# Jetty section,Nexus 私服應用是使用Jetty 提供 web 服務的下述內容為Jetty 配置:application-port=8081 # 私服訪問端口application-host=0.0.0.0nexus-webapp=${bundleBasedir}/nexus # Nexus 私服 WEB 應用所在位置nexus-webapp-context-path=/nexus # Nexus 私服WEB 應用 contextPath# Nexus section Nexus 私服配置信息nexus-work=${bundleBasedir}/../sonatype-work/nexus # 私服工作目錄,即構件保存目錄runtime=${bundleBasedir}/nexus/WEB-INF # 私服 WEB 應用運行目錄檢查私服端口和工作
3.3.1 修改Nexus運行用戶
Nexus 私服在啟動后,私服應用需要訪問 Linux 的文件系統,所以需要有足夠的權限。Nexus 的啟動腳本文件中,可以指定私服應用的訪問用戶,此信息在 nexus-2.11.2-03/bin/nexus 腳本文件中定義。需要修改的信息如下:
# NOTE - This will set the user which is used to run the Wrapper as well as # the JVM and is not useful in situations where a privileged resource or# port needs to be allocated prior to the user being changed. #RUN_AS_USER= #原內容RUN_AS_USER=root #修改后的內容,代表Nexus 私服使用 root 用戶權限修改 Nexus 運行用戶
1.修改文件
2.默認是注釋的
3.釋放
3.3.2 修改防火墻,開放私服端口訪問
修改防火墻配置文件,開放 Nexus 私服的訪問端口 8081。
vi /etc/sysconfig/iptables
增加下述內容:
重新啟動防火墻:
service iptables restart
3.3.3 啟動并測試訪問
啟動Nexus 私服:
/usr/local/nexus/nexus-2.11.2-03/bin/nexus start
成功啟動后,控制臺輸出內容如下:
可通過命令檢查私服運行狀態:
/usr/local/nexus/nexus-2.11.2-03/bin/nexus status
內容如下為私服運行中:
內容如下為私服未運行:
如果是not running說明啟動失敗,重新配置!
也可使用瀏覽器訪問 Nexus 私服WEB 應用, 訪問地址為:
http://ip:8081/nexus (ip 為 Nexus 所在系統的訪問 IP),訪問效果如下:
總結:
此時配置成功,最重要的步驟是修改用戶權限,讓root來運行!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Maven搭建Nexus私服的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】你有哪些深度学习(RNN、C
- 下一篇: Objects.requireNonNu