Linux 部署 Nexus (下载、安装、使用)
目錄
問題現象
解決方法
0、環境
環境:
1、下載
下載方式1:官網下載
?下載方式2:百度云盤下載
2、部署
上傳壓縮包到服務器:
解壓:
啟動:
拓展:
啟動方式(2種):
總結:
開放端口:
?驗證 Nexus服務:
3、登錄并初始化 Nexus
4、使用
創建倉庫:
創建角色并權限配置(?不建議分配刪除權限):?
?創建用戶:
驗證用戶:
拓展:
上傳依賴包:
1、手動上傳
查看已上傳的 jar 文件:
2、自動上傳:
2. 項目上傳 .jar 依賴包 到自定義的Nexus倉庫?xxx-nexus?:
問題現象
????????Linux 系統如何部署 Nexus (下載、安裝、使用)?
解決方法
0、環境
環境:
? ? ? ? linux 系統、JDK8、Nexus 壓縮包(unix)。
由于Nexus 是基于 Java 語言的,因此安裝 Nexus 必須先安裝好JAVA(JDK),注意:
????????Nexus2 是基于 JDK7。
????????Nexus3 是基于 JDK8 。
對于 linux 系統上安裝 JDK8 感興趣的小伙伴,可以參考一下文章:
????????Linux 安裝 JAVA(JDK)_Stephen·You的博客-CSDN博客
1、下載
下載方式1:官網下載
????????因為官網下載肯定是最正規的,也是資源最全面的(各個版本的資源都有);那為什么這里要提到下載方式呢?是因為在官網下載過的小伙伴都知道,在官網上是下載不了的(因為是外網,不翻墻是下載不了的),所以說是正規的下載方式也是失敗率最高的下載方式:
????????Download Archives - Repository Manager 3
????????如果能下載的小伙伴,那就點擊這個下載下面這個最新版本的壓縮包:
https://download.sonatype.com/nexus/3/nexus-3.37.1-01-unix.tar.gz?(?ASC?,?MD5?,?SHA1?)?
?下載方式2:百度云盤下載
? ? ? ? 下面介紹最親民的下載方式,就是有大神下載成功的,并將資源上傳到網盤后分享了出來,這樣做的優點是免費、有效可用,缺點是資源有限(無法隨意選擇自己想要的版本),當然除了網盤之外,在CSDN本站中也有許多大佬上傳了相關資源,感興趣的小伙伴可以用積分去下載;
這里提供一個永久有效的下載地址:
文件名:nexus-3.25.1-04-unix.tar.gz
版本號:3.25.1-04
文件大小:156M左右
百度云鏈接:https://pan.baidu.com/s/1KzzpfA67En_nb59KQ7efEw?
提取碼:0000
2、部署
上傳壓縮包到服務器:
解壓:
#進入 壓縮包所在目錄 cd /home/thp/public/nexus#解壓 tar -zxvf nexus-3.25.1-04-unix.tar.gz? ? ? ? 解壓出兩個文件夾:nexus-3.25.1-04 ?和 sonatype-work?。
?nexus-3.25.1-04:用于實現 nexus 功能
?sonatype-work:用于存儲數據
啟動:
????????進入 /home/thp/public/nexus/nexus-3.25.1-04/bin 目錄,可以看見 nexus 文件,這就是 Nexus 服務的腳本文件:
? ? ? ? 通過觀察該文件文本內容,可以看到 start 和 run 命令都可以用來啟動 Nexus?服務;區別在于:
start 是后臺啟動,日志以文件形式保存;
run 是當前進程啟動,直接打印在控制臺;
拓展:
????????1、其他常用命令還有:
stop 是停止服務;
restart 是重啟服務;
status?是查看服務狀態
????????2、Nexus 服務的默認端口是 8081 。
????????默認端口是 8081,如果要修改,可以在?sonatype-work/nexus3/etc 目錄下的?nexus.properties?配置文件,將?application-port 配置成你要的端口號即可:
啟動方式(2種):
? ? ? ? 2.1 start命令啟動(后臺進程形式)
????????在 /home/thp/public/nexus/nexus-3.25.1-04/bin 目錄下,執行腳本命令,以后臺進程的形式(不占用當前命令終端窗口),啟動 Nexus 服務:
./nexus start? ? ? ? 啟動需要等待一段時間,可用瀏覽器訪問 linux 服務器ip:8081 來驗證服務是否啟動好。
????????2.2 run命令啟動(當前進程形式)
? ? ? ? 在 /home/thp/public/nexus/nexus-3.25.1-04/bin 目錄下,執行腳本命令,以當前進程形式(會占用當前命令終端窗口),啟動 Nexus 服務:?
./nexus run???????等待一段時間后,看到類似如下信息,則為啟動成功:
總結:
? ? ? ? 為了不占用當前命令終端窗口,推薦使用?2.1 start命令啟動(后臺進程形式)Nexus 服務。
開放端口:
? ? ? ? 最后一步,也是非常重要的一步,就是開放 linux 系統的防火墻端口,這里我使用了 Nexus 服務的?默認端口 8081,所以開放的就是 8081 端口:
? ? ? ? 先查看所有開放的端口號(首次執行該操作需要輸入當前用戶密碼):
sudo firewall-cmd --zone=public --list-ports? ? ? ? ?開放 8081 端口:
sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent? ? ? ? 重啟防火墻服務:?
sudo firewall-cmd --reload?????????再次查看所有開放的端口號,可以看到 8081 端口已經開放了:
?驗證 Nexus服務:
????????驗證方式有很多種:
????????1、linux 系統命令終端 查看 8081 端口所占用的進程:
netstat -tunlp | grep 8081? ? ? ? 2、linux 系統命令終端 查看 帶 nexus 關鍵字的進程信息:
ps -ef|grep nexus? ? ? ? ?3、(強烈推薦)在瀏覽器訪問 Nexus 的 Web 端首頁,輸入 linux 服務器ip:8081:?
????????出現類似以上3種信息,則說明 Nexus 服務已經啟動成功了!!!
3、登錄并初始化 Nexus
瀏覽器訪問 Nexus 的 Web 端首頁,并登錄,輸入賬號、密碼:
注意:
? ? ? ? 有些?Nexus 的版本中,是有默認配置的賬號(admin)、密碼(admin123)的,如果登錄失敗的話,可以在?sonatype-work/nexus3?目錄下 的?admin.password 文件中查看初始化密碼。
????????在 linux 系統命令終端中執行:
# 進入 admin.password 文件所在目錄 cd /home/thp/public/nexus/sonatype-work/nexus3# 查看 admin.password 文件文本內容 cat admin.password 或 vi admin.password 或 vim admin.password????????文件文本內容的第一行就是密碼:?
登錄:
? ? ? ? 出現類似如下信息,則登錄成功:
?????????點擊 Next 后,需要重置密碼:
?????????點擊 Next 后,配置匿名訪問:
? ? ? ? ?配置完成:
4、使用
創建倉庫:
????????選擇 maven2(hosted):
? ? ? ? ?輸入
????????創建成功:?
????????點擊后能看見詳情,url 就是新倉庫的ip地址:
創建角色并權限配置(?不建議分配刪除權限):?
? ? ? ? 依次點擊 Repository 倉庫管理圖標(齒輪)、 Roles、Create role、Nexus role:
????????填寫角色信息,檢索 關鍵字:
nx-repository-admin-maven2-
? ? ? ? 賦予倉庫的權限,這里我把maven2下 central、public、release、snapshots 庫的非刪除權限(如:browse、edit、read權限),都賦予給 新建的角色,另外把 新建的 私庫的 * 權限(所有權限)也賦予給該角色:?
? ? ? ? 檢索 自定義倉庫的庫名,賦予權限?nx-repository-view-maven2-自定義庫名-*:
注意:
????????這些權限一定要配置完整,否則很容易導致各種問題(比如:maven項目上傳依賴失敗等)
? ? ? ? ?點解 Create role 創建角色:
?????????創建成功:
?創建用戶:
? ? ? ? 點擊 Create local user 創建用戶:
驗證用戶:
? ? ? ? ?點擊右上角 Sign out ,退出 admin 賬號的登錄狀態,并使用 剛剛創建的自定義用戶登錄試試:
????????登錄成功后,需要輸入一個憑證,可以隨便輸入點什么,也可以直接 Cancel:
拓展:
? ? ? ? 可以看到雖然登錄成功了,但權限比較少:
? ? ? ? 在首頁中,可以 看到這個用戶并沒有 Search、Browse 和 Upload 選項:
?解決:
????????重新用 admin 賬號登錄后,找到我們之前創建的角色,并分別檢索 search、browse、upload 關鍵字,把 nx-search-read、nx-repository-view-*-*.browse、nx-comopnet-upload 權限賦予給該角色:
????????再次以自定義用戶登錄,在首頁中可以看到導航欄上出現了 Search、Browse 和 Upload 選項了:
上傳依賴包:
1、手動上傳
? ? ? ? 依次點擊首頁圖標(箱子) 、Upload、最定義的私庫:
?????????選擇文件并填寫相關信息,點擊Upolad:
????????出現如下報錯:
?? ? ? ? 這是因為上傳的jar包,不符合自定義倉庫的 MIME 類型格式。
解決:? ? ? ??
????????回到倉庫管理中,選擇自定義倉庫,并找到 Storage 下 的?Strict Content Type Validation:
把打勾的選項(Validate that all content uploaded to this repository is of a MIME type appropriate for the repository format)去掉。
????????保存配置:
????????再次上傳,出現如下信息則為上傳成功:?
查看已上傳的 jar 文件:
? ? ? ? 點擊 上一圖片中的 view it now ,或者直接點擊左邊導航欄中的 Search ,可以看見 jar 包已經手動上傳成功:
2、自動上傳:
? ? ? ? 主要是指在使用maven項目進行打包操作時,可以配置自定義的nexus倉庫ip地址,并上傳到該倉庫中去,具體步驟如下:
1.修改?maven 的 settings.xml 配置文件:
????????如:IDEA中,點擊左上角的 File - Settings ,檢索 maven 關鍵字,可以看到自己當前項目所引用的 maven 配置:
????????找到?settings.xml 配置文件,
????????添加以下代碼到 servers標簽中:
<server> <id>自定義的Nexus倉庫名(如:xxx-nexus)</id> <username>自定義用戶的賬號(如:xxx)</username> <password>自定義用戶的密碼(如:xxx)</password> </server>????????保存并關閉settings.xml文件。
2. 項目上傳 .jar 依賴包 到自定義的Nexus倉庫?xxx-nexus?:
????????找到需要上傳.jar包的模塊中的pom文件(項目全部jar包都要上傳,則可以在項目最外層的pom.xml)中加入以下代碼到 project 標簽下:
<!--遠程倉庫地址--><distributionManagement><repository><id>xxx-nexus</id><name>Xxx Nexus3 Repository</name><url>http://自定義倉庫ip:8081/repository/xxx-nexus/</url></repository></distributionManagement>?????????打開 IDEA 的 右側的 Maven Projects 窗口,依次點擊 左上角的 reimport圖標、LifeCycle 下的 deploy:
?????????上傳成功:?
總結
以上是生活随笔為你收集整理的Linux 部署 Nexus (下载、安装、使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python安装函数库pip网址_批量安
- 下一篇: linux查看db2表空间大小,DB2查