介绍
背景
由于业务需要,项目中添加了很多Maven中央仓库没有的jar包(主要是第三方合作伙伴提供的),因此需要搭建一个nexus服务器
环境
阿里云ECS服务器
cat /proc/version
(proc 虚拟目录存储系统信息)Linux version 2.6.32-642.13.1.el6.x86_64 (mockbuild@c1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Wed Jan 11 20:56:24 UTC 2017
getconf LONG_BIT
(64位机器) 64
安装
安装 JDK 1.7 传统方式
- 下载 jdk 云盘地址
- 解压
tar -xzvf jdk-7-linux-x64.tar.gz
- 创建目录
mkdir -p /usr/local/java/
- 移动到目录下
mv jdk1.7.0 /usr/local/java/jdk1.7.0
添加配置文件
vim /etc/profile
- 末尾添加如下配置
export JAVA_HOME=/usr/local/java/jdk1.7.0 export PATH=$JAVA_HOME/bin:$PATH
- 末尾添加如下配置
刷新配置文件
source /etc/profile
- 查看是否安装成功
java -version
yum 方式安装 jdk(没有尝试)
- 查看版本
yum -y list java*
- 选择合适的版本安装
yum -y install java-1.7.0-open*
nexus 安装
- 下载 百度云
- 解压
tar -xzvf nexus-2.1.2-bundle.tar.gz
mkdir -p /home/nexus
mv nexus-2.1.2 /home/nexus/nexus-2.1.2
nexus 配置为系统服务
cp /home/nexus/nexus/bin/jsw/linux-x86-64/nexus /etc/init.d/nexus
vim /etc/init.d/nexus
编辑/etc/init.d/nexus文件,添加以下变量定义:
NEXUS_HOME=/home/nexus/nexus PLATFORM=linux-x86-64 PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"
修改以下变量:
WRAPPER_CMD="${PLATFORM_DIR}/wrapper" WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf" PIDDIR="${NEXUS_HOME}"
修改如下变量,设置启动用户为nexus(或你需要使用该服务的用户):
RUN_AS_USER=nexus
配置JAVA_HOME到nexus
vim /home/nexus/nexus-2.1.2/bin/jsw/conf/wrapper.conf
#修改 wrapper.java.command=/usr/local/java/jdk1.7.0/bin/java
执行命令添加nexus自启动服务
- checkconfig命令详解
- 添加服务
chkconfig –add nexus
- 配置服务执行等级和启动状态
chkconfig –levels 345 nexus on
配置nexus端口
vim /home/nexus/nexus-2.1.2/conf/nexus.propertis
#改为你需要的端口 application-port=8081
启动nexus
- 查看日志
tail -f /home/nexus/nexus-2.1.2/log/wrapper.log
- 启动nexus
service nexus start
- 如果出错根据日志信息,查找错误
- 停止nexus
service nexus stop
- 查看日志
使用nexus
nexus配置
- 修改密码:登录nexus管理界面,默认管理员: 用户名 admin 密码 admin123
管理用户
自动下载 中央仓库索引
手动配置索引
- 下载索引文件 百度云
- 解压 复制到
/home/nexus/sonatype-work/nexus/indexer/central-ctx
重启nexus
pom 配置
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://your nexus server/nexus/content/groups/public/</url>
</repository>
</repositories>