Nexus安装配置和使用

第一步安装jdk

yum install java-1.8.0-openjdk-devel

第二步下载nexus-3.12.1-01-unix.tar.gzjdk

下载地址:https://download.sonatype.com/nexus/3/nexus-3.12.1-01-unix.tar.gz

第三步解压并运行

[root@nexus mnt]$tar xf nexus-3.12.1-01-unix.tar.gz
[root@nexus mnt]$ls
nexus-3.12.1-01 nexus-3.12.1-01-unix.tar.gz sonatype-work cd /mnt/nexus-3.12.1-01/bin
./nexus run &

第四步访问

默认监听端口为8081,默认用户名密码为admin/admin123,因此可以访问以下首页并登陆。
192.168.122.88:8081

1.环境检查

机器名:nexus1
ip地址:ip a: 192.168.122.88
hosts文件:192.168.122.88 nexus1
selinux: disabled
firewalld: disabled
空间:/ 30G
OS: centos8.3
yum配置:yum list
yum cache rpm配置:/etc/yum.conf, cachedir=/rpmcache keepcache=1

2.检查/安装依赖包

官方安装网站:sonatype.com
Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
不仅如此,他还可以用来创建yum、pypi、npm、docker、nuget、rubygems 等各种私有仓库。
所支持的类型,可从下图管窥:

如果使用了公共的 Maven 仓库服务器,可以从 Maven 中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
正常做法是在本地架设一个 Maven 仓库服务器,即利用 Nexus 私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个 Artifact。
Nexus 在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷, 节省外网带宽和时间,Nexus 私服就可以满足这样的需要。
Nexus 是一套 “开箱即用” 的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。
Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。
Nexus 支持 WebDAV 与 LDAP 安全身份认证。
Nexus 还提供了强大的仓库管理功能,构件搜索功能,它基于 REST,友好的 UI 是一个 extjs 的 REST 客户端,它占用较少的内存,基于简单文件系统而非数据库。
如果没有 Nexus 私服,我们所需的所有构件都需要通过 maven 的中央仓库和第三方的 Maven 仓库下载到本地,而一个团队中的所有人都重复的从 maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到 maven 仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的 maven 私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。
总之,在本地构建 nexus私服的好处有:

3,安装jdk-1.8。

nexus的安装依赖jdk环境。最好安装1.8版本的,否则可能会遇到其他不可知问题。此安装不再赘述。
yum install java-1.8.0-openjdk-devel

设置limits.conf
nexus - nofile 65536

4,部署nexus。

1,解压。

[root@nexus mnt]$tar xf nexus-3.12.1-01-unix.tar.gz
[root@nexus mnt]$ls
nexus-3.12.1-01 nexus-3.12.1-01-unix.tar.gz sonatype-work

下载到指定目录并解压,我们可以看到解压后有通常两个文件。
nexus-x.x.x Nexus运行所需要的文件,如运行脚本,依赖jar包等
sonatype-work 该目录包含Nexus生成的配置文件、日志文件、仓库文件等

2,启动。

cd /mnt/nexus-3.12.1-01/bin
./nexus run &

大概等待一分钟左右,如果在日志输出当中看到如下显示,则说明启动成功。

-------------------------------------------------

	Started Sonatype Nexus OSS 3.12.1-01
-------------------------------------------------

3,访问。

默认监听端口为8081,默认用户名密码为admin/admin123,因此可以访问以下首页并登陆。
192.168.157.110:8081
这里直接访问了,一般内部使用,就不开启防火墙神马的了。

5,优化配置。

1,设置开机自启。

ln -s /mnt/nexus-3.12.1-01/bin/nexus /etc/init.d/nexus3
chkconfig --add nexus3
chkconfig nexus3 on

2,配置运行用户。

这个地方可以使用root运行,不过官方文档里边也不建议使用root来运行,因此使用普通用户来运行。

	[root@nexus ~]$useradd nexus
[root@nexus bin]$vim nexus.rc
run_as_user="nexus"
更改目录权限,否则下次启动会没有权限。
[root@nexus mnt]$chown -R nexus.nexus /mnt/nexus-3.12.1-01
[root@nexus mnt]$chown -R nexus.nexus /mnt/sonatype-work

3,配置jdk。

如果这里不配置,一般会使用默认的JAVA_HOME的变量,如果系统中有多个,那么可以进行配置。

[root@nexus bin]$vim nexus
修改第14行:
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144

4,修改端口。

一般使用默认的,如果需要修改,则更改/mnt/nexus-3.12.1-01/etc/nexus-default.properties里边的配置。
这里不做修改了。

5,配置存储及日志位置。

[root@nexus bin]$vim /mnt/nexus-3.12.1-01/bin/nexus.vmoptions
一般都不做修改,使用默认即可,这里列出是为了了解这个点。
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp

配置完毕之后,重启一下服务。

6,启动之后,解决一个小问题。

注意左上角会有一个告警,这个告警的意思是系统默认的最大文件句柄太小了。
解决办法官网也已经给出了:解决文件句柄限制。
因此我们照官方解决办法来做:
ho "nexus - nofile 65536" >> /etc/security/limits.conf

在次重启服务即可

centos安装配置和使用 Nexus的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  2. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  3. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  4. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  5. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  6. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  7. 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat

    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...

  8. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  9. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

随机推荐

  1. 分布式存储ceph---ceph概念及原理(1)

    一.Ceph简介: Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环 ...

  2. Python基础之PyCharm快捷键大全

    Pycharm中打开Help->Keymap Reference可查看默认快捷键帮助文档 一.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + A ...

  3. 06丨MongoDB基本操作

    使用 insert 完成插入操作 操作格式: db.<集合>.insertOne(<JSON对象>) db.<集合>.insertMany([<JSON 1& ...

  4. Stm32高级定时器(转自:luowei_memory)

    1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获 ...

  5. 一次线上事故,让我对MySql的时间戳存char(10)还是int(10)有了全新的认识

    美好的周五 周五的早晨,一切都是那么美好. 然鹅,10点多的时候,运营小哥哥突然告诉我后台打不开了,我怀着一颗"有什么大不了的,估计又是(S)(B)不会连wifi"的心情,自信的打 ...

  6. kubernetes 降本增效标准指南|理解弹性,应用弹性

    弹性伸缩在云计算领域的简述 弹性伸缩又称自动伸缩,是云计算场景下一种常见的方法,弹性伸缩可以根据服务器上的负载.按一定的规则.进行弹性的扩缩容服务器. 弹性伸缩在不同场景下的含义: 对于服务运行在自建 ...

  7. 【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达

    问题描述 查阅了Azure的官方文档( 将事件发送到特定分区: https://docs.azure.cn/zh-cn/event-hubs/event-hubs-availability-and-c ...

  8. VMware vRealize Suite 8.3 发布 - 多云环境的云计算管理解决方案

    概述 VMware vRealize Suite 是一种多云环境的云计算管理解决方案,为 IT 组织提供了一个基于 DevOps 和 ML 原则的基础架构自动化.一致运维和监管的现代平台. vReal ...

  9. 达梦数据库产品支持技术学习分享_Week2

    本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.文本命令行工具使用的方法(Disql和dmfldr) 二.数据库备份 三.定时作业功能 四.系统表和动 ...

  10. [leetcode] 208. 实现 Trie (前缀树)(Java)

    208. 实现 Trie (前缀树) 实现Trie树,网上教程一大堆,没啥可说的 public class Trie { private class Node { private int dumpli ...