nexus 搭建 npm 私库
1. 背景介绍
哈喽,大家好啊!一直以来都是用公司的私库,自己手痒也想试试,无奈手上只有一台闲置的 Mac mini 的 Apple M1 版本,无形中增加了亿点点难度。
本期用到的主要软件和工具如下:
- Parallels Desktop 18 for Mac 18.0.2(53077)
- Debian 是 Parallels 上免费下载的
parallels@debian-gnu-linux-11:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
需要说明的是 parallels 是 Parallels 默认创建的账户,我们需要自己手动添加 root 账号。
parallels@debian-gnu-linux-11:~$ sudo passwd
Password: 你当前的密码
Enter new UNIX password: root 密码
Retype new UNIX password: 重复 root 密码
做好以上的准备工作之后,那我们开始吧!
2. 安装
2.1 安装 Java 1.8
因为 Nexus3 需要 jvm "1.8" 的环境,所以先安装下 Java,选择 ARM64 Compressed Archive 版本进行下载。
2.2 解压
然后解压到 Debian 里的文件夹,如 /opt/java 。
root@debian-gnu-linux-11:/opt/java# tar zxvf jdk-8u371-linux-aarch64.tar.gz
root@debian-gnu-linux-11:/opt/java# ls -l
total 72876
drwxr-xr-x 8 root root 4096 May 10 13:08 jdk1.8.0_371
-rw-r--r-- 1 root root 74618793 May 10 13:02 jdk-8u371-linux-aarch64.tar.gz
2.3 配置 Java 信息
执行 vim ~/.bashrc ,在文件末尾添加配置信息,保存。
export JAVA_HOME=/opt/java/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
再刷新下 source ~/.bashrc 查看下版本信息,这样 Java 环境就准备好了。
root@debian-gnu-linux-11:/home/parallels# java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
2.4 安装 nexus
接下来就是要安装 nexus 了,选择 Nexus Repository 3.53.0-01 ,当然也可以选择别的版本。接下来的步骤与安装 Java 差不多,建立文件夹 /opt/nexus。
root@debian-gnu-linux-11:/opt/nexus# wget https://download.sonatype.com/nexus/3/nexus-3.53.0-01-unix.tar.gz
root@debian-gnu-linux-11:/opt/nexus# tar zxvf nexus-3.53.0-01-unix.tar.gz
root@debian-gnu-linux-11:/opt/nexus# ls -l
total 205600
drwxr-xr-x 10 root root 4096 May 10 12:35 nexus-3.53.0-01
-rw-r--r-- 1 root root 210520190 May 3 05:37 nexus-3.53.0-01-unix.tar.gz
-rw------- 1 root root 162 May 10 12:36 nohup.out
drwxr-xr-x 3 root root 4096 May 10 12:35 sonatype-work
2.5 启动 nexus
接下来就是见证奇迹的时刻。
root@debian-gnu-linux-11:/opt/nexus# /opt/nexus/nexus-3.53.0-01/bin/nexus run
经过一小会的等待。。会出现以下信息,意味着启动成功。
......
2023-05-09 22:21:58,494-0700 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@21abd615{Sonatype Nexus,/,file:///opt/nexus/nexus-3.53.0-01/public/,AVAILABLE}
2023-05-09 22:21:58,526-0700 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@23599f32{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2023-05-09 22:21:58,526-0700 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @22489ms
2023-05-09 22:21:58,526-0700 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.53.0-01
-------------------------------------------------
2.6 访问 nexus
查看下端口的使用情况,发现 8081 情况正常。
root@debian-gnu-linux-11:/opt/nexus# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 2802/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1032/sshd: /usr/sbi
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 565/cupsd
tcp 0 0 127.0.0.1:36443 0.0.0.0:* LISTEN 2802/java
tcp6 0 0 :::22 :::* LISTEN 1032/sshd: /usr/sbi
tcp6 0 0 ::1:631 :::* LISTEN 565/cupsd
本地访问 localhost:8081,出现了帅气特效。
短暂的1s之后,就是我们的目标页面。
考虑到篇幅所限,私库的应用放在接下来的文章当中:
3. 端口转发
借助 Parallels 中的端口转发,就可以 IP 加端口的形式访问啦。