根据业务需求,需要将nexus-2.8.0从Windows 2003迁移至CentOS 6.8(x86_64)上。在迁移过程中遇见了几个坑,在此记录已做备忘。
因为,nexus是跨平台通用的,所以,我首先在原来的Windows服务器上把nexus打包备份,打包时有两个文件需要打包一个是:nexus-2.8.0-05应用包,另外一个是:sonatype-work文件包。当然这两个包有可能在一个目录下面,但我们之前搭建这个平台的同事是开发,所以.........
在打sonatype-work文件包发现报错,WinRAR提示有文件正在被使用。这时需要先停止nexus,命令如下:
cmd #进入dos
D:
D:\>cd nexus-2.8.0-05\bin #进入nexus的bin目录
nexus.bat stop #停止nexus ,nexus的启动停止命令是nexus start/stop
然后再进行打sonatype-work文件包。
紧接着在Linux平台创建nexus用户,并将两个包上传到Linux平台下去。
useradd nexus #在创建用户时不能使用 -s /sbin/nologin 参数
mkdir /usr/local/nexus #创建nexus的目录
然后解析并修改相关目录名称
unzip nexus-2.8.0-05.zip
mv nexus-2.8.0-05 nexus-app
unzip sonatype-work.zip
然后进行相关选项修改
chmod 777 /usr/local/nexus/nexus-app/bin/jsw/linux-x86-64/wrapper
chmod 777 /usr/local/nexus/nexus-app/bin/nexus
chown -R nexus.nexus /usr/local/nexus
修改nexus相关配置
vim /usr/local/nexus/nexus-app/bin/nexus
NEXUS_HOME="/usr/local/nexus/nexus-app" #nexus的主目录
RUN_AS_USER=nexus #nexus的运行用户
最后进行nexus用户密码初始化
首先,停止nexus服务
/usr/local/nexus/nexus-app/bin/nexus stop
然后,删除sonatype-work/nexus/conf目录下的security-configuration.xml security.xml两个文件
rm -rf /usr/local/nexus/sonatype-work/nexus/conf/security.xml
rm -rf /usr/local/nexus/sonatype-work/nexus/conf/security-configuration.xml
最后,账号/密码变为: admin/admin123
说明:
关于nexus的系统端口和文件存放目录,主要是在/usr/local/nexus/nexus-app/conf/nexus.properties这个文件中进行相关设置
至此迁移完成,可以通过::8080/nexus/ 访问nexus,通过admin/admin123登录
错误1:
[root@APP-001 ~]# /app/nexus-2.8.0-05/bin/nexus start
Starting Nexus OSS...
Failed to start Nexus OSS.
主要原因是:因为nexus和sonatype-work未授权
chown -R nexus.nexus /app/sonatype-work/
chown -R nexus.nexus /app/nexus-2.8.0-05/
错误2:
[root@APP-001 ~]# /app/nexus-2.8.0-05/bin/nexus start
Missing platform binary: /app/nexus-2.8.0-05/bin/jsw/linux-x86-64/wrapper
主要原因是:1、/app/nexus-2.8.0-05/bin/jsw/linux-x86-64/wrapper 没有权限,该文件需要执行权限。2、/app/nexus-2.8.0-05/bin/nexus未设置“NEXUS_HOME=”参数。
chmod 777 /app/nexus-2.8.0-05/bin/jsw/linux-x86-64/wrapper
vim /app/nexus-2.8.0-05/bin/nexus
NEXUS_HOME="/app/nexus-2.8.0-05"
Ubuntu 下 搭建Nexus Maven私服中央仓库