前言
本来以为搭建一个nexus随随便便就好了,但是遇到了最新版本根本没办法在jdk17下面正常运行—起码我调了一下不知道怎么运行,我才知道。。。不升级版本其实是很有道理的。
这一篇是最新版本的尝试:
在ubuntu上搭建nexus私有仓库[失败草稿]
下面一篇文章让我醍醐灌顶:
解决Nexus 3.XX Jdk版本问题(亲测有效)
新的JDK不行,那我用旧的还不行吗?
版本指定:
openjdk-1.8
过程
安装jdk1.8:
apt-get install openjdk-8-jre
好了:
在官网下载 neuxs:
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.67.1-01-unix.tar.gz
我本地下载速度有点慢,看来需要一些科技手段了。
下载完成后,请上传到服务器等待配置:
在服务器上面,解压缩:
tar -zxvf nexus-3.67.1-01-unix.tar.gz
ls
------重命名nexus文件夹mv nexus-3.67.1-01 /usr/local/nexus3
cd /usr/local
创建软连接
sudo ln -s nexus3 nexus
mkdir /usr/local/sonatype-work/
好了,先进行一部分配置:
vim bin/nexus.vmoptions
修改一下参数,防止占用内存过大。
如下图:
可以改小一点:
修改默认访问端口以及根目录:
vim etc/nexus-default.properties
注意,默认端口8081很多人用的,使用前请检查一下是否已经占用了:
lsof -i:8081
给nexus分配账号:
ps:如果不分配账号那么是无法启动的,例如:
创建 nexus 用户
# sudo useradd nexus -M -s /sbin/nologin
注意,这条命令后续会出问题的,在我上一篇文章已经将坑都排出来了:
https://blog.csdn.net/cdnight/article/details/80673110
所以,正式的命令是新建普通的账号:
sudo useradd nexus -m -s /bin/bash
授权
chown -R nexus:nexus /usr/local/nexus
chown -R nexus:nexus /usr/local/sonatype-work/打开 /usr/local/nexus/bin/nexus.rc 文件, 去掉 run_as_user 变量的注释
sudo vim /usr/local/nexus/bin/nexus.rc
run_as_user="nexus"
好了,测试一下能否正常运行:
/usr/local/nexus/bin/nexus run
结果:
这怕是jdk版本的问题了。。。
怎么做都不行,下面参考一下一位兄弟的文章:
解决Nexus 3.XX Jdk版本问题(亲测有效)
所以,nexus的新版本必须使用jdk1.8,刚刚下载的openjdk1.8就是在这里用的
在nexus脚本上面覆盖jdk位置:
就是:
-- 添加这一行上去。
INSTALL4J_JAVA_HOME_OVERRIDE="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
测试一下能否正常运行:
bin/nexus run
有:
无法启动成功,gc的值比我分配给它的要多了。。怎么这东西这么吃内存的的???
改改参数:
变更为512m,然后:
启动成功。
好了,给nexus添加一下系统服务,方便开机启动。
/lib/systemd/system 创建 nexus.service
内容:
[Unit]
Description=Nexus3服务
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nexus/bin/nexus start
## ExecReload=/usr/local/@projectName@/service.sh restart
ExecStop=/usr/local/nexus/bin/nexus stop
PrivateTmp=True
[Install]
WantedBy=multiVersions-user.target
ps:如果你有域名的话,也可以用域名+nginx 来导向nexus。
编译项目,发布到私有仓库上
待续