CentOS安装nexus(Maven仓库管理器)

简介: Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclips
Nexus是一个强大的Maven仓库管理器,
它极大地简化了自己内部仓库的维护和外部仓库的访问。
利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。
Nexus支持WebDAV与LDAP安全身份认证。

官网下载:http://www.sonatype.org/nexus/archived/

我的准备:

 CentOS Linux release 7.1.1503 (Core)
 nexus-2.11.1-01-bundle.tar.gz
 jdk-8u60-linux-x64

注:最终启动,如果远程访问关闭,或者是stoped的nexus的jre版本和本地jre的version不符合(一般1.7就ok)!

1:解压:

[root@CentOS-Slave1 install-files]# tar zxvf nexus-2.11.1-01-bundle.tar.gz 
-rw-r--r--. 1 root root 71817045 Oct 18 15:17 nexus-2.11.1-01-bundle.tar.gz
drwxr-xr-x. 8 root root     4096 Dec 17  2014 nexus-2.11.1-01
drwxr-xr-x. 3 root root       35 Dec 17  2014 sonatype-work
注:安装nexus,本地仓库默认的jar包存储位置是:/sonatype-work/nexus/storage/central。由于Central仓库占用存储较大,所以要注意存储位置。

2:移动合适位置/home/nexus:

[root@CentOS-Slave1 install-files]# mv nexus-2.11.1-01 /home/nexus/
[root@CentOS-Slave1 install-files]# mv sonatype-work/ /home/nexus
[root@CentOS-Slave1 install-files]# cd /home/nexus/
[root@CentOS-Slave1 nexus]# ll
total 4
drwxr-xr-x. 8 root root 4096 Dec 17  2014 nexus-2.11.1-01
drwxr-xr-x. 3 root root   35 Dec 17  2014 sonatype-work

3:修改配置文件1:/home/nexus/nexus-2.11.1-01/conf/nexus.properties
………………
# Sonatype Nexus
# ==============
# This is the most basic configuration of Nexus.

# Jetty section
# 配置端口信息
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
#配置IP端口访问
#http://192.168.10.56:8081/nexus/可修改为: /
nexus-webapp-context-path=/nexus

# Nexus section
#配置work目录地址,Maven仓库JAR缓存地址,可修改其他地址eg:${bundleBasedir}/nexus-work/nexus 
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
4:修改配置文件2:/home/nexus/nexus-2.11.1-01/bin/nexus
………………
#NEXUS_HOME=".."
#如果目录改变配置,如果修改了运行路径
NEXUS_HOME="/home/nexus/nexus-2.11.1-01"
……………………
#RUN_AS_USER=
#nexus启动用户
RUN_AS_USER=root
注: nexus很依赖于jdk,编写,所以必须安装好jdk并设置环境变量/etc/profile并生效!备注附件!
[root@CentOS-Slave1 metrics]# pwd
/home/nexus/nexus-2.11.1-01/nexus/WEB-INF/classes/org/sonatype/nexus/webapp/metrics
[root@CentOS-Slave1 metrics]# ls
DeadlockHealthCheckProvider.class  HealthCheckMediator.class  MetricsModule$1.class  MetricsModule$2.class  MetricsModule.class
5:启动nexus服务:
[root@CentOS-Slave1 bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
警告:不推荐作为root用户运行.
6:nexus启动日志:
[root@CentOS-Slave1 logs]# pwd
/home/nexus/nexus-2.11.1-01/logs
[root@CentOS-Slave1 logs]# tail -f wrapper.log 
……………………
xceptionMapper
jvm 1    | 2015-10-18 16:38:29,492+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.rest.NexusApplication_UriMatching - Strict URI matching: true
jvm 1    | 2015-10-18 16:38:29,816+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.configuration.ModelUtils - Loading model /home/nexus/sonatype-work/nexus/conf/ldap.xml
jvm 1    | 2015-10-18 16:38:29,873+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.configuration.ModelUtils - Loading model /home/nexus/sonatype-work/nexus/conf/lvo-plugin.xml
jvm 1    | 2015-10-18 16:38:30,994+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.webresources.internal.WebResourceServiceImpl - Discovered 1973 resources
jvm 1    | 2015-10-18 16:38:30,996+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.webresources.internal.WebResourceServlet - Max-age: 30 days (2592000 seconds)
jvm 1    | 2015-10-18 16:38:31,132+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.InstrumentedSelectChannelConnector - Metrics enabled
jvm 1    | 2015-10-18 16:38:31,166+0800 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started InstrumentedSelectChannelConnector@0.0.0.0:8081
jvm 1    | 2015-10-18 16:38:31,166+0800 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Running
jvm 1    | 2015-10-18 16:38:31,166+0800 INFO  [WrapperListener_start_runner] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Started

注:启动日志:*SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Started则,启动成功!
用浏览器访问:http://192.168.10.56:8081/nexus/

7:nexus开机启动:

[root@CentOS-Slave1 bin]# pwd
/home/nexus/nexus-2.11.1-01/bin
[root@CentOS-Slave1 bin]# ls
jsw  nexus  nexus.bat
[root@CentOS-Slave1 bin]# cp nexus /etc/rc.d/init.d/
[root@CentOS-Slave1 bin]# cd /etc/rc.d/init.d/
[root@CentOS-Slave1 init.d]# ls
functions  jexec  mysql  netconsole  network  nexus  README
[root@CentOS-Slave1 init.d]# chkconfig --add nexus
[root@CentOS-Slave1 init.d]# chkconfig --list | grep nexus 

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

nexus          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@CentOS-Slave1 init.d]# chkconfig nexus on
[root@CentOS-Slave1 init.d]# chkconfig --list | grep nexus 

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

nexus          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

问题1:

[root@CentOS-Slave1 bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.

解决1:上:4:修改配置文件2:/home/nexus/nexus-2.11.1-01/bin/nexus ---> RUN_AS_USER=root

备注附件:

安装jdk:

[root@CentOS-Slave1 install-files]# rpm -ivh jdk-8u60-linux-x64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8.0_60-2000:1.8.0_60-fcs    ################################# [100%]
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...
	jfxrt.jar...
[root@CentOS-Slave1 install-files]# vim /etc/profile
……………………
#jdk
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
[root@CentOS-Slave1 install-files]# source /etc/profile

参数说明:

nexus的仓库类型分为以下四种:group: 仓库组,hosted:宿主 ,proxy:代理,virtual:虚拟
仓库组和多个仓库:
Public Repositories:  仓库组
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
Central: 用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
maven的pom.xml设置:

<?xml version="1.0" encoding="UTF-8"?>
<settings>
	<mirrors>
		<mirror>
			<!--This sends everything else to /public -->
			<id>nexus</id>
			<mirrorOf>*</mirrorOf>
			 <!-- <url>http://repo1.maven.org/maven2/</url> -->
			<url>http://192.168.10.56:8081/nexus/content/groups/public</url>
		</mirror>
	</mirrors>
	<profiles>
		<profile>
			<id>nexus</id>
			<!--Enable snapshots for the built in central repo to direct -->
			<!--all requests to nexus via the mirror -->
			<repositories>
				<repository>
		    <id>central</id>
		    <url>http://repo1.maven.org/maven2/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>central</id>
					<url>http://central</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
	</profiles>
	
	<activeProfiles>
		<!--make the profile active all the time -->
		<activeProfile>nexus</activeProfile>
	</activeProfiles>
</settings>

目录
相关文章
|
11天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
94 64
|
12天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
100 61
|
5天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
24 1
Linux系统之Centos7安装cockpit图形管理界面
|
11天前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
37 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
18天前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
114 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
6天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
28 1
|
8天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
65 3
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
64 2
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
20 3
|
15天前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本