根据业务需求,需要将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

nexus 从Window迁移至Linux_第1张图片

    然后再进行打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

wKiom1ihbjrDcagcAAAiO_mQyXI710.jpg-wh_50


    然后进行相关选项修改

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

wKioL1ihcc_iy0BYAABHe0iFR5U562.jpg-wh_50

    最后,账号/密码变为: admin/admin123


说明:

    关于nexus的系统端口和文件存放目录,主要是在/usr/local/nexus/nexus-app/conf/nexus.properties这个文件中进行相关设置


至此迁移完成,可以通过:http://ip: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"

nexus 从Window迁移至Linux_第2张图片