一、安装配置:

       1、下载:https://www.sonatype.com/download-oss-sonatype

             我下载的是 nexus-3.17.0-01-unix.tar.gz

       2、将下载的文件传上服务器,并解压。

       3、安装jdk 建议下载rpm版

             命令:rpm -ivh xxxx.rpm
       4、进入nexus解压后目录,这里有两个文件夹:

            nexus开头的一个、sonatype-work

            进入nexus的目录,修改etc/nexus-default.properties文件,可修改端口号。
       5、进入nexus目录下的bin目录下执行:./nexus run 即可启动nexus服务器。

       6、浏览器访问http://your-ip:port/,默认用户/密码:admin/admin123。登录后先修改掉密码。

docker nexus中央仓库搭建

  1. 安装docker-ce后执行命令
    docker pull sonatype/nexus3

     

  2. 设置端口映射和文件卷同步
    docker run -d --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -v /usr/local/nexus-data:/nexus-data --name nexus3 sonatype/nexus3
    chmod 777 /usr/local/nexus-data

     

  3. 登录ip:8081进入控制台
    1. 账号admin 密码在同步文件夹中adminpassword文件中
    2. 数据迁移见六

二、添加阿里云仓库:

       如下图,点击Repositories

       右边点击Create repository

       在接下来的页面选择maven2 proxy

       在具体配置页面取名aliyun-repository

这里建议用a开头(估计按字母排序将它排第一位),URL输入:http://maven.aliyun.com/nexus/content/groups/public/,其他默认值即可。

三、配置public-repository:

将aliyun的repository排到最上面,如下图:

maven配置文件中的mirror url设置为:

http://your ip:port/repository/maven-public/

例如:<mirror>
            <id>nexus</id>
            <mirrorOf>central</mirrorOf>
            <name>my nexus</name>
            <url>http://172.16.40.173:8081/repository/maven-public/</url>
           </mirror>

上传第三方jar包到nexus

mvn deploy:deploy-file -DgroupId=com.taosdata.jdbc -DartifactId=TSDBDriver -Dversion=1.0.0 -Dpackaging=jar -Dfile=taos-jdbcdriver-1.0.0-dist.jar -Durl=http://172.16.40.173:8081/repository/gdzy_hosted/ -DrepositoryId=nexus

四、其他:

        1、日志文件sonatype-work/nexus3/log/下 。
        2、验证:将maven的setting.xml仓库设置指向私服--->删除本地仓库某个在用的jar--->maven重新import--->服务器上同时查看网络连接可以看到有连接到maven.aliyun.com(59.110.144.164)了,可以断定从aliyun下载了。


五、添加服务至systemd

1、添加配置文件

    vi /usr/lib/systemd/system/nexus.service

[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536#警告处理
ExecStart=/usr/local/nexus/bin/nexus start
ExecReload=/usr/local/nexus/bin/nexus restart
ExecStop=/usr/local/nexus/bin/nexus stop
User=root
Restart=on-abort
[Install]
WantedBy=multi-user.target

2、重新加载配置文件

systemctl daemon-reload

3、将服务加入开机启动

systemctl enable nexus.service

4、开放防火墙端口
systemctl status firewalld   查看防火墙状态
firewall-cmd --zone=public --list-ports    查看端口开放情况
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload      刷新防火墙设置
firewall-cmd --zone=public --list-ports

5、nexus配置管理
5.1 配置阿里代理仓库
Configuration > Repository > Repositories ,选择 Create repository 按钮,Select Recipe 选择 maven2(proxy),
Name 填写 aliyun, URL输入 http://maven.aliyun.com/nexus/content/groups/public/  其他值默认。
Configuration > Repository, 双击 maven-public, 在Group区域将aliyun移到右侧Members, 上移到maven-central的上面, 点击 Save

5.2 管理maven仓库中没有的jar
通过 Upload > maven-releases 上传jar,再填写其他参数,即可管理maven中心仓库中不存在的jar依赖


5.3 其他配置页面左上角提示 System Requirement: max file解决办法
访问 http://192.168.100.181:8081/
登录的默认密码 admin / admin123
页面左上角提示 System Requirement: max file descriptors [4096] likely too low, increase to at least [65536]. 解决办法
vi /etc/security/limits.conf
*  soft  nofile  65536
*  hard  nofile  131072
*  soft  nproc   2048
*  hard  nproc   4096
vi /etc/sysctl.conf
fs.file-max=65535
sysctl -p生效,设置后用 ulimit -a 可以看到open files为65535,如果显示不是65535 则可能需要 reboot
然后重启 nexus

5.4 开放防火墙端口
systemctl status firewalld   查看防火墙状态
firewall-cmd --zone=public --list-ports    查看端口开放情况
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload      刷新防火墙设置
firewall-cmd --zone=public --list-ports

六、数据迁移备份

旧机器

  • 备份databases 


1、在管理界面System-Tasks界面,点击“Create task”

2、选择Admin-Export databases for backup

3、填写好名称,保存路径,Task frequency可以选择Manual,保存之后,立即执行一次

4、将保存好路径的内容完全复制
 

  • 备份blobs 

1、进入 opt/nexus/sonatype-work/nexus3/blobs

2、将所有文件夹打包

新机器

 

  1. 停止服务 stop容器名
  2. 删除opt/nexus/sonatype-work/nexus3/db以下目录
      accesslog
      analytics
      audit
      component
      config
      security

     

  3. 备份的databases文件放到/opt/nexus/sonatype-work/nexus3/restore-from-backup                                                                  备份的blobs原样解压到对应/opt/nexus/sonatype-work/nexus3/blobs目录

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐