nexus 搭建 npm 私库

1,152 阅读3分钟

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 版本进行下载。

Untitled.png

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,出现了帅气特效。

Untitled 1.png

短暂的1s之后,就是我们的目标页面。

Untitled 2.png

考虑到篇幅所限,私库的应用放在接下来的文章当中:

3. 端口转发

借助 Parallels 中的端口转发,就可以 IP 加端口的形式访问啦。

4. 文档参考

download.parallels.com/desktop/v10…