根據業務需求,需要將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這個文件中進行相關設置
至此遷移完成,可以通過: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"