之前配置nexus 遇到些坑,但忙起来一直没配置,网上找的版本有些比较老旧,有些到处copy,看到一半发现未完整的配置都有,所以边配置边写博客记录下,给自己记录下,也给有需要的人方便找到一篇配置全过程,少走一些弯路
目录
一、下载配置
官网下载nexus https://www.sonatype.com
点击:products---> OSS Edition 即 https://www.sonatype.com/nexus-repository-oss
点击 GET REPOSITORY OSS 打开 https://www.sonatype.com/download-oss-sonatype
https://www.sonatype.com/download-nexus-repo-oss?submissionGuid=205b844a-b22b-4b84-9994-8d079d7492be 即这个下载链接
找到对应版本下载,由于服务器是centos系统,此处我选择最后一个
https://www.sonatype.com/oss-thank-you-mac-tgz?submissionGuid=9a5b1499-e716-4222-b254-3c758bda7249 mac os 系统
https://www.sonatype.com/oss-thank-you-win64.zip?submissionGuid=61f3239c-f2a5-417d-b183-8f3c4fa40745 windows 系统
https://www.sonatype.com/oss-thank-you-tar.gz?submissionGuid=0a41d0e0-e51c-4df8-b9c9-af0bc5bd0a9e linux系统
当前版本:nexus-3.20.1-01 访问偏慢,翻墙后访问快一些 下载完毕
也可以在此下载同版本nexus3的 可点击https://download.csdn.net/download/bmo1314/12049583
1.1、上传发布
下载后上传至服务器,我安装版本为nexus-3.20.1-01 故路径为/opt/software/nexus-3.20.1-01
#进入目录
cd /opt/software/nexus-3.20.1-01
#解压
tar -xvf nexus-3.20.1-01-unix.tar
解压后得出
1.2、配置端口
#进入 nexus的 etc 文件夹
cd /opt/software/nexus-3.20.1-01/nexus-3.20.1-01/etc
#编辑 nexus-default.properties文件
vim nexus-default.properties
修改端口 找到 application-port 改为未占用端口,此处自己设置为7890
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
#修改此处端口号
application-port=7890
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
nexus.hazelcast.discovery.isEnabled=true
1.3、自定义配置虚拟机大小
自定义配置虚拟机可打开 nexus.vmoptions 文件进行配置 对于服务器内存比较低的 需要修改 配置文件
#进入文件夹
cd /opt/software/nexus-3.20.1-01/nexus-3.20.1-01/bin
#编辑 nexus.vmoptions
vim nexus.vmoptions
配置如下 :
-Xms2703m
-Xmx2703m
-XX:MaxDirectMemorySize=2703m
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Dkaraf.log=../sonatype-work/nexus3/log
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
#
# additional vmoptions needed for Java9+
#
# --add-reads=java.xml=java.logging
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
# --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.6.jar
# --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.6.jar
# --add-opens=java.base/java.security=ALL-UNNAMED
# --add-opens=java.base/java.net=ALL-UNNAMED
# --add-opens=java.base/java.lang=ALL-UNNAMED
# --add-opens=java.base/java.util=ALL-UNNAMED
# --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
# --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
# --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
# --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
#
# comment out this vmoption when using Java9+
#
-Djava.endorsed.dirs=lib/endorsed
2、启动和关闭
进入安装文件夹下的 bin
此处我的路径为 /opt/software/nexus-3.20.1-01/nexus-3.20.1-01/bin
#进入文件夹
cd /opt/software/nexus-3.20.1-01/nexus-3.20.1-01/bin
#启动
./nexus start
#关闭
./nexus stop
#查看启动状态
./nexus status
nexus 常用的一些命令:./nexus {start|stop|run|run-redirect|status|restart|force-reload}
3、访问及配置
旧版本(旧版有默认账号密码)
账号 admin 密码 :admin123
新版本:需要回到安装目录下 打开 sonatype-work 文件夹 下的 nexus3 的 admin.password 文件里
#打开文件夹
cd /opt/software/nexus-3.20.1-01/sonatype-work/nexus3
#编辑 admin.password
vim admin.password
里面的类似加密的密码即是密码 ,一开始以为是加密的,其实是明码,登录时复制即可
访问路径:ip:端口 如下 以aaa.com 为例
打开网站后 右上角点击登录
账号admin 密码 复制 admin.password 里的内容
1、四种仓库类型介绍
默认仓库介绍
1)maven-central: maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
2)maven-releases: 私库发行版jar
3)maven-snapshots:私库快照(调试版本)jar
4)maven-public: 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
Nexus默认的仓库类型有以下四种:(上面的名字可以随便取,关键是它对应的是什么仓库类型)