服务迁移
旧服务器192.168.3.17 --oldsys
新服务器192.168.3.94 --newsys
旧服务器操作
#旧服务 nexus-2.12.0-01
服务目录:/usr/local/ nexus-2.12.0-01/ #这里是naxus的启动目录
存储目录: /usr/local/sonatype-work #这里主要存放我我们打包的jar
直接压缩 服务、存储 压缩成tar.gz
新服务器操作
通过scp 命令远程把oldsys 上打的tar包 传输复制到newsys /opt/目录下
然后解压,这样我们能就得到了一个完整得服务启动目录 和存储目录,直接开箱即用
启动nexus服务, --- 正常 ,这样迁移就完成了。
服务升级
步骤:
1.需要先升级到最新的 nexus2.x 只有 2.14.1 及更高版本可以升级到 Nexus Repository Manager 3。
2.部署nexus3.x版本
3.数据迁移
升级2.x版本
->download 2.14.1以上的tar包 --本次下载的版本为nexus-2.14.21
->可以直接把最新的软件包替换掉之前的2.x旧包,为保险直接替换软链,替换掉即可
nexus -> /opt/nexus-2.14.21
->然后直接启动nexus2.14版本 ./bin/nexus start
->如果启动不起来就 提示root权限问题,export RUN_AS_USER=root
或者 vi /bin/nexus ->RUN_AS_USER=root
注意旧版本,和新版本得文件目录都是需要指向同一个位置。
开启防火墙端口 :firewall -cmd —zone=public —add-port=8081/tcp —permanent
启动完成,至此升级完成!
升级3.x版本
->download nexus3.x版本 官网下载不下来 我是直接从网上找到版本 nexus-3.38.1-01
->解压到/opt/目录下 然后增加一个软链 ln -s /opt/nexus-3.38.1-01 /opt/nexus3
->修改配置文件nexus3/etc/nexus.properties 可以修改端口content-path等
-> 修改nexus3/lib/nexus.rc
-> run_as_user="root"
->配置文件存储路径 vim bin/nexus.vmoptions 这里放在了/opt/sonatype-work3
把nexus3添加到服务里 并自启动
#!/bin/bash
#chkconfig:2345 20 90
#description:nexus3
#processname:nexus3
自启动脚本
export NEXUS_HOME=/opt/nexus-3.38.1-01/
case $1 in
start) su root $NEXUS_HOME/bin/nexus start;;
stop) su root $NEXUS_HOME/bin/nexus stop;;
status) su root $NEXUS_HOME/bin/nexus status;;
restart) su root $NEXUS_HOME/bin/nexus restart;;
dump ) su root $NEXUS_HOME/bin/nexus dump ;;
console ) su root $NEXUS_HOME/bin/nexus console ;;
*) echo "require console | start | stop | restart | status | dump " ;;
esac
内容迁移
nexus2->nexus3 使用 Upgrade:Agent 功能 具体可以参考 官方文档 此处略
maven私库nexus2.11.4迁移升级到nexus3.12.0 - 走看看
nginx代理
nginx路径 /opt/nginx
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;
location /nexus/content/groups/public/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 2;
proxy_read_timeout 50;
client_max_body_size 300M;
proxy_pass http://192.168.3.17:8981/repository/maven-public/;
}
location /nexus/content/repositories/releases/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 2;
proxy_read_timeout 50;
client_max_body_size 300M;
proxy_pass http://192.168.3.17:8981/repository/releases/;
}
nginx 自启动配置在脚本里本身自带,用的是公司的包
重启系统端口不会自动暴露 需要增加开启自动暴露端口 /etc/init.d/netportstart
#!/bin/bash
#chkconfig:2345 20 90
#description:netprotstart
#processname:netprotstart
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 8981 -j ACCEPT
iptables -I INPUT -p tcp --dport 8081 -j ACCEPT