Linux搭建Nexus私服

一. 使用Docker搭建Nexus私服

1. 安裝Nexus

1.1創(chuàng)建存放數(shù)據(jù)的位置

# 進入自己指定存放目錄
cd /usr/local/src

# 創(chuàng)建個文件夾
mkdir nexus

# 賦予權限艾君,不然啟動會報錯肤视,無操作權限
chmod 777 nexus

1.2 啟動

  1. 執(zhí)行以下命令即可,會自動拉取鏡像并啟動
docker run -d -p 8081:8081 --name nexus -v /usr/local/src/nexus:/nexus --restart=always sonatype/nexus3
  1. 通過docker logs -f nexus查看啟動日志,當出現(xiàn)Started Sonatype Nexus OSS說明啟動成功
  2. 這時通過http://ip:8081即可訪問
  3. 點擊右上角Sign in進行登錄,賬號為admin,密碼需要去鏡像中查看拧廊,如下:
# 進入鏡像
docker exec -it nexus bash
# 查看密碼,路徑在登錄框會提示晋修,然后復制即可吧碾,登錄成功后會讓你修改密碼
cat /nexus-data/admin-password

2. Nexus倉庫

  • Nexus有四種倉庫和四種倉庫類型
倉庫名 描述
maven-central maven中央庫,默認從https://repo1.maven.org/maven2/拉取jar
maven-releases 私庫發(fā)行版jar
maven-snapshots 私庫快照(調試版本)jar
maven-public 倉庫分組墓卦,把上面三個倉庫組合在一起對外提供服務倦春,在本地maven基礎配置settings.xml中使用
類型 描述
group(倉庫組類型) 用于方便開發(fā)人員自己設定的倉庫
hosted(宿主類型) 內部項目的發(fā)布倉庫(內部開發(fā)人員,發(fā)布上去存放的倉庫)
proxy(代理類型) 從遠程中央倉庫中尋找數(shù)據(jù)的倉庫(可以點擊對應的倉庫的Configuration頁簽下Remote Storage Location屬性的值即被代理的遠程倉庫的路徑)
virtual(虛擬類型) 虛擬倉庫(這個基本用不到落剪,重點關注上面三個倉庫的使用)

3. 使用

maven項目pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.zhang</groupId>
 <artifactId>demo</artifactId>
 <version>1.0</version>
 <name>demo</name>
 <description>Demo project for Spring Boot</description>

 <distributionManagement>
  <repository>
   <!--ID可以隨便寫睁本,但是要與maven的setting文件中一致-->
   <id>releases</id>
   <!--指向倉庫類型為hosted(宿主倉庫)的儲存類型為Release的倉庫-->
   <url>http://你nexus倉庫的IP:8081/repository/maven-releases/</url>
  </repository>
 </distributionManagement>

 <properties>
  <java.version>1.8</java.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>

 <build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
     <source>1.8</source>
     <target>1.8</target>
    </configuration>
   </plugin>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
   </plugin>
  </plugins>
 </build>
</project>

maven的settings.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <!-- 本地倉庫地址 -->
  <localRepository>D:\java\maven\repository</localRepository>

  <!-- 發(fā)布私服賬號密碼驗證 -->
  <servers>
    <server>
        <id>releases</id><!--對應項目pom文件中設置的-->
        <username>admin</username>
        <password>admin123456</password>
    </server>
    <server>
        <id>snapshots</id><!--對應項目pom文件中設置的-->
        <username>admin</username>
        <password>admin123456</password>
    </server>
  </servers>

  <!-- 相關私服地址 -->
  <mirrors>
    <mirror>
        <id>mynexus</id>
        <name>myself nexus repository</name>
        <url>http://你nexus倉庫的IP:8081/repository/maven-public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>AliMaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>jboossMaven</id>
        <name>jbooss maven</name>
        <url>http://repository.jboss.com/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>apacheMaven</id>
        <name>apache maven</name>
        <url>http://repo.maven.apache.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

轉載:https://www.jb51.net/article/171427.htm

  • 問題: maven私服不能重復部署
# 報錯信息
Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases.
  • 解決辦法:
    經排查發(fā)現(xiàn)是因為重復發(fā)布導致的,maven私有倉庫默認不允許重復部署忠怖。
    瀏覽器登錄nexus管理界面–>設置圖標–>Repository–>Repositories–>maven-releases–>Hosted–>請選擇‘Allow redeploy’策略呢堰,默認是disable策略,然后保存凡泣。

二. 壓縮包安裝Nexus

1. 壓縮包最新下載地址:

https://help.sonatype.com/repomanager3/product-information/download

2. 通過ftp上傳到指定目錄枉疼,解壓

# 進去壓縮包存放目錄
cd /home/nexus
# 解壓命令
tar -zxvf nexus-3.38.0-01-unix.tar.gz

3. 進去解壓后的bin目錄運行

# 進入解壓目錄
cd nexus-3.38.0-01/
# 創(chuàng)建收集日志文件
touch my-nexus.log
# 進入bin目錄
cd bin/
# 啟動命令
./nexus run >> ../my-nexus.log
或者
./nexus start >> ../my-nexus.log

4. 配置文件存放路徑

# 默認配置存放路徑
nexus-3.38.0-01/etc/nexus-default.properties

# 默認啟動配置存放路徑
nexus-3.38.0-01/bin/nexus.vmoptions

# 默認密碼存放路徑
sonatype-work/nexus3/admin.password

# 日志存放目錄
sonatype-work/nexus3/log/nexus.log
  • 問題: Nexus3 使用root報WARNING: Detected execution as "root" user. This is NOT recommended!
  • 解決辦法:
1:在bin目錄下的nexus.rc文件添加:
vim nexus.rc 加入run_as_user=root

2:或者加入系統(tǒng)變量
vim /etc/profile 加入export RUN_AS_USER=root

3:vim nexus,里面有一句:run_as_root=true 问麸,原來是此處直接給攔死了往衷,故只要改成run_as_root=false 就可以钞翔。

4:或者添加nexus用戶严卖,即:
useradd nexus
chown -R nexus:nexus /opt/nexus
然后su nexus 執(zhí)行:./nexus start 就成功了。

Nexus因磁盤空間占滿異常停機orientdb數(shù)據(jù)損壞修復

5. 升級Nexus3版本

5.1 下載最新版本的Nexus壓縮包

下載地址:https://help.sonatype.com/repomanager3/product-information/download

5.2 上傳壓縮包至服務器

nexus-3.38.0-01 升級版本為nexus-3.56.0-01

  1. 備份目錄sonatype-work布轿,nexus-3.56.0-01 版本和nexus-3.38.0-01 版本的sonatype-work目錄一致
  2. 解壓nexus-3.56.0-01nexus-3.38.0-01 相同目錄
tar zxvf nexus-3.56.0-01-unix.tar.gz
  1. 對比兩版本配置文件
# 先進入nexus目錄
cd /nexus安裝目錄 

# ${installDir}/etc/nexus-default.properties:這是nexus的默認配置文件(其實更多是作為示例文件)
diff nexus-3.38.0-01/etc/nexus-default.properties nexus-3.56.0-01/etc/nexus-default.properties

# ${installDir}/bin/nexus.vmoptions:這是JVM的參數(shù)配置哮笆,還可以調整數(shù)據(jù)目錄的位置(通常保持默認就好)
diff nexus-3.38.0-01/bin/nexus.vmoptions nexus-3.56.0-01/bin/nexus.vmoptions

# ${installDir}/bin/nexus.rc:其他配置
diff nexus-3.38.0-01/bin/nexus.rc nexus-3.56.0-01/bin/nexus.rc
  1. 停止老版本服務進程
# 進入bin目錄
cd nexus-3.38.0-01/bin/
# 停止命令
./nexus stop
  1. 啟動新版本服務進程
# 進入bin目錄
cd nexus-3.56.0-01/bin/

# 停止命令
./nexus start

# 進入日志存放目錄查看啟動是否成功
cd sonatype-work/nexus3/log
tail -f nexus.log
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末来颤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稠肘,更是在濱河造成了極大的恐慌福铅,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件项阴,死亡現(xiàn)場離奇詭異滑黔,居然都是意外死亡,警方通過查閱死者的電腦和手機环揽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門略荡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人歉胶,你說我怎么就攤上這事汛兜。” “怎么了通今?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵粥谬,是天一觀的道長。 經常有香客問我辫塌,道長漏策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任臼氨,我火速辦了婚禮哟玷,結果婚禮上,老公的妹妹穿的比我還像新娘一也。我一直安慰自己巢寡,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布椰苟。 她就那樣靜靜地躺著抑月,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舆蝴。 梳的紋絲不亂的頭發(fā)上谦絮,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音洁仗,去河邊找鬼层皱。 笑死,一個胖子當著我的面吹牛赠潦,可吹牛的內容都是我干的叫胖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼她奥,長吁一口氣:“原來是場噩夢啊……” “哼瓮增!你這毒婦竟也來了怎棱?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绷跑,失蹤者是張志新(化名)和其女友劉穎拳恋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砸捏,經...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡谬运,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了垦藏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吩谦。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖膝藕,靈堂內的尸體忽然破棺而出式廷,到底是詐尸還是另有隱情,我是刑警寧澤芭挽,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布滑废,位于F島的核電站,受9級特大地震影響袜爪,放射性物質發(fā)生泄漏蠕趁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一辛馆、第九天 我趴在偏房一處隱蔽的房頂上張望嘹裂。 院中可真熱鬧摹恰,春花似錦上忍、人聲如沸携御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缴挖。三九已至,卻和暖如春焚辅,著一層夾襖步出監(jiān)牢的瞬間映屋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工同蜻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棚点,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓湾蔓,卻偏偏與公主長得像瘫析,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容