0%

Ubuntu安裝Nexus

安裝JDK

請參考之前的文章

下載nexus

官方下載
或者
nexus-3.33.1-01-unix

建立nexus使用者

建立nexus專用的系統帳號

1
$ useradd -M -d /opt/nexus -s /bin/bash -r nexus

允許nexus用戶可以使用無密碼的sudo運行命令

1
$ echo "nexus   ALL=(ALL)       NOPASSWD: ALL" > /etc/sudoers.d/nexus

安裝nexus

先建立nexus目錄

1
$ mkdir /opt/nexus

解開nexus到剛剛建立好的目錄底下

1
$ tar -zxvf nexus-3.33.1-01-unix.tar.gz -C /opt/nexus --strip-components=1

修改權限

1
$ chown -R nexus: /opt/nexus

修改配置

調整nexus內存大小

調整自身機器合適的大小,這邊測試調整成2G

開啟/opt/nexus/bin/nexus.vmoptions

1
2
3
4
5
6
-Xms2048m
-Xmx2048m
-XX:MaxDirectMemorySize=2048m
.
.
.

調整nexus相對路徑

因為剛剛解開nexus的時候把sonatype-work目錄的位置移上了一層
所以這邊相對路徑就需要調整一下

開啟/opt/nexus/bin/nexus.vmoptions

1
2
3
4
5
6
7
8
9
10
.
.
.
-XX:LogFile=./sonatype-work/nexus3/log/jvm.log
.
.
.
-Dkaraf.data=./sonatype-work/nexus3
-Dkaraf.log=./sonatype-work/nexus3/log
-Djava.io.tmpdir=./sonatype-work/nexus3/tmp

修改nexus運行帳號

修改nexus運行時使用帳號
請修改成剛剛專門建立的帳號

開啟/opt/nexus/bin/nexus.rc

1
run_as_user="nexus"

修改nexus對外port

預設port是8081如果不需要調整請跳過這一步
因為測試環境的關係這邊改成9090

開啟/opt/nexus/etc/nexus-default.properties

1
2
3
4
5
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=9090
application-host=0.0.0.0

啟動nexus

啟動服務

啟動

1
$ sudo -u nexus /opt/nexus/bin/nexus start

監看log

監看log

1
$ tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.log

第一次登入會看到以下畫面,預設帳號為admin

獲取密碼

獲取第一次登入密碼

1
$ cat /opt/nexus/sonatype-work/nexus3/admin.password

初始設定

1
2
3
1.修改管理者密碼
2.根據需求調整,這邊我選擇關閉匿名用戶登入
3.關閉問題回饋

登入後做完第一次設定後服務就正式裝好啦!

系統服務

建立腳本

建立/etc/systemd/system/nexus.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

重載systemd

1
$ systemctl daemon-reload

啟用服務

1
$ systemctl enable --now nexus.service

查看服務狀態

1
$ systemctl status nexus.service

服務正常運行,這樣我們以後就可以透過systemctl管理服務了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@pcionserver:/etc/systemd/system# root@pcionserver:/etc/systemd/system# systemctl status nexus.service
● nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-09-25 07:51:16 UTC; 6min ago
Process: 8292 ExecStart=/opt/nexus/bin/nexus start (code=exited, status=0/SUCCESS)
Main PID: 8486 (java)
Tasks: 80 (limit: 4616)
Memory: 1.3G
CGroup: /system.slice/nexus.service
└─8486 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.moduleName=/opt/nexus/bin/nexus -XX:+UnlockDiag>

Sep 25 07:51:16 pcionserver systemd[1]: Starting nexus service...
Sep 25 07:51:16 pcionserver nexus[8292]: Starting nexus
Sep 25 07:51:16 pcionserver systemd[1]: Started nexus service.