maven私有仓库的搭建——nexus的安装

maven私有仓库的搭建

使用Xshell连接远程服务器。本文章主要参考冰河大佬的小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!! - 冰河的个人空间 - OSCHINA - 中文开源技术交流社区

在细节的地方进行了一些小修改和小补充,欢迎大家关注冰河大佬!

环境说明

centos7.6、openjdk1.8、root用户操作

下载安装

这里使用的版本是:nexus-2.14.20-02-bundle.tar.gz

截止2022年4月18日,官网的最新版本是3.3,如果去官网下下载,不知道这个安装教程一样不一样。

下载方式有如下几种:

直接使用命令行下载

$wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz

在客户端下载后通过Xshell上传到服务器

官方下载地址是:http://www.sonatype.org/nexus/go/

点粉色的GET REPOSITORY OSS,然后就会出现

https://gitee.com/zjlamtt/markdownimg/raw/master/typorapic/image-20220418151832399.png

这里的GET REPOSITORY OSS是免费开源版本,还有一个PRO版本,功能更加丰富些。

注意:这里出现了第一个坑!

从客户端上传到服务器的命令是

$ rz

但是如果使用rz命令选择文件上传,因为编码的问题有可能终端挂死。其实直接拖进Xshell的对话框就行了,或者使用rz -E命令。

你可以把nexus安装在任何文件夹,我这里选择了/opt/soft文件夹。

使用mkdir命令新建一个文件夹,然后使用tar命令将压缩包解压到这个文件夹里,操作步骤如下:

[root@tisec-test-240 ~]# cd "/opt/soft"
[root@tisec-test-240 soft]# ls
[root@tisec-test-240 soft]# rz -E
[root@tisec-test-240 soft]# ls
[root@tisec-test-240 soft]# mkdir nexus
[root@tisec-test-240 soft]# tar -zxvf nexus-2.14.20-02-bundle.tar.gz -C nexus

这个解压出来的文件还不少,解压完毕之后就可以进行下一步操作。

修改端口号和nexus脚本

修改端口号

Nexus的是使用jetty作为服务器,因此,我们需要对jetty服务器做一个配置。不知道jetty是什么的也没关系,你可以把Nexus看作一个用来管理jar包的后端项目,jetty就和tomcat一样,为运行提供一个服务器环境。

首先,我们需要对jetty进行一个配置:进入*/nexus-2.14.20-02/conf*,在nexus .properties中修改端口号。安装时,默认是8081端口,这个端口一般会被占用。我这里改成了8095.

可以使用下面的命令来查看端口是否被占用。

[root@tisec-test-240 sysconfig]# netstat -anp |grep 8092

如果端口号后面显示listen就是被占用了。这时候需要尝试别的端口。

如果输入之后什么都不显示,就是没有被占用。如下:

在检测到没有占用的端口之后,使用vi命令进入conf目录下的nexus. properties中修改端口号。这里需要掌握一点基础的vi命令:

vi命令进入文件之后,首先进入命令模式,此时是对文件进行读的模式,并不能修改。下图就是命令模式。这里我的8095端口已经改过了

按方向键上下左右,把光标移动到想要修改的位置,按一下insert键,进入编辑模式。编辑模式的左下角有个**–insert–**。

进入编辑模式之后,修改端口号。改完之后按一下Esc键会回到命令模式。这时候输入**:wq**并回车就可以保存修改。

修改nexus脚本

nexus脚本位于*/nexus-2.11.2-03/bin/*目录

按照同样的方法打开文件,修改nexus文件,找到RUN_AS_USER的那一行,取消注释,改成RUN_AS_USER=root,如图所示:

开启防火墙

下一步,我们需要开启防火墙,这里也是我踩坑最多的地方。

按照冰河大佬的说法,找到*/etc/sysconfig/*路径下的iptables文件,加上一行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

但是在我的centos 7.6系统里,根本没有iptables这个文件。。。

最后参照这个linux服务器上没有iptables文件怎么办-百度经验 (baidu.com)解决的。

这里先简单介绍一下iptables。

iptables

iptables是防火墙的用户代理,用户对内核的防火墙过滤进行操控的命令行工具。

如果没找到这个文件,那就是因为你的服务器没有安装这个命令行工具,需要安装一下。

[root@tisec-test-240 sysconfig]# yum install iptables-services

提示安装完毕,就可以进行下一步操作了。

iptables文件一共由四个表组成,Filter, NAT, Mangle, Raw,我们的端口开放规则应该写在Filter中,如图所示:加在一堆INPUT规则的最后面就行了。

在这里插入图片描述

接下来,我们应该保存一下这个规则,并重启防火墙,让防火墙加载一下这条规则。命令如下:

[root@tisec-test-240 sysconfig]# service iptables save
[root@tisec-test-240 sysconfig]# service iptables restart

如果在这里,restart出错,可是尝试一下另一个手段:

[root@tisec-test-240 sysconfig]# systemctl restart iptables

如果提示:

Redirecting to /bin/systemctl restart iptables.service
Job for iptables.service failed because the control process exited with error code. See “systemctl status iptables.service” and “journalctl -xe” for details.

多半是因为添加开放端口规则的时候写错了。比如说你添加的端口号是100000,一共都没那么多端口,肯定就错了。或者,把规则放在了错误的位置。

我们可以根据提示,使用"systemctl status iptables.service"命令查看错误记录。比如我一开始的错误记录就显示,92行有问题,那就可以看看究竟出了什么问题。

在这里插入图片描述

好的,完事具备,我们可以开启nexus了。

使用:

[root@tisec-test-240 bin]# ./nexus start

对于不熟悉linux操作的同学,注意,前面一定要加./,有个点.,不要忘记!

[root@tisec-test-240 bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[root@tisec-test-240 bin]#

出现上面的提示,就是启动服务成功了。

接下来,我们可以用自己的开发机器试着访问一下:

nexus的账号密码默认是admin和admin123。如果你安装的是3.x的nexus,那么密码就不是默认的admin123了,而是每个人安装的时候都有个密码文件,关于这个可以百度一下怎么操作,这里不再赘述。好了,到目前为止,安装的问题就解决了。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值