栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Nexus笔记】安装配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Nexus笔记】安装配置

1.下载解压
wget http://download.sonatype.com/nexus/3/nexus-3.21.1-01-unix.tar.gz
tar -zxf nexus-3.21.1-01-unix.tar.gz 

2.配置

2.1端口及上下文路径

vim nexus/nexus-3.21.1-01/etc/ nexus-default.properties

application-port=8081
application-host=192.168.1.129
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/nexus

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=
nexus-pro-feature

 2.2使用root运行

vim nexus/nexus-3.21.1-01/bin/nexus.rc

run_as_user=root #使用root运行

2.3JVM参数

vim nexus/nexus-3.21.1-01/bin/nexus.vmoptions

-Xms256m
-Xmx1024m
-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
-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+
#

2.4修改环境变量

vim /etc/profile

export NEXUS_HOME=/alidata/server/nexus/nexus-3.21.1-01

export PATH=$PATH:$NEXUS_HOME/bin

source /etc/profile

2.5设置开机自启动 

ln -s /alidata/server/nexus/nexus-3.21.1-01/bin/nexus /etc/init.d/nexus3 
chkconfig --add nexus3 
chkconfig nexus3 on 

2.6修改 nexus3 启动时要使用的 jdk 版本

vim /alidata/server/nexus/nexus-3.21.1-01/bin

第 14 行: 
INSTALL4J_JAVA_HOME_OVERRIDE=/alidata/server/jdk1.8.0_152

2.7修改 nexus3 数据以及相关日志的存储位置 (可选):

vim nexus/nexus-3.21.1-01/bin/nexus.vmoptions

-XX:LogFile=./sonatype-work/nexus3/log/jvm.log 
-Dkaraf.data=./sonatype-work/nexus3 
-Djava.io.tmpdir=./sonatype-work/nexus3/tmp 

2.8启动

bin/nexus start

2.9服务器开放Nexus私服端口

(1)firewall-cmd --zone=public --add-port=8081/tcp --permanent

(2)阿里云服务器安全组配置

3.nginx代理nexus
server {
    listen 80;
    server_name 域名;

    location /nexus {
        proxy_pass http://127.0.0.1:8081;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 300M;
    }
}
# 重启nginx
./nginx -s reload

4.配置仓库

安装成功后有两个默认账号admin、anonymous,其中admin具有全部权限;anonymous作为匿名用户,只具有查看权限。

pepositories name属性说明

  • maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
  • maven-releases:私库发行版jar
  • maven-snapshots:私库快照(调试版本)jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

pepositories type属性说明

  • group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库
  • hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库)
  • proxy(代理类型):从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)
  • virtual(虚拟类型):虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)

一般,访问我们使用maven-public
http://域名/nexus/repository/maven-public/

由于访问中央仓库有时候会比较慢,这里我添加一个阿里云的代理仓库,然后优先级放到默认中央库之前, 阿里云的maven仓库url为http://maven.aliyun.com/nexus/content/groups/public

然后再public组里面讲这个aliyun-proxy仓库加入,排在maven-central之前即可。 

创建Blob Stores

文件存储的地方,创建一个目录的话,对应文件系统的一个目录,可供仓库上传文件使用,如图所示:

 

5. 本地Maven使用私服

在maven的默认配置settings.xml中修改如下:


	
        nexus
        admin
        123456
    



    
        nexus
        *
        http://域名/nexus/repository/maven-public/
    



      
      nexus
      
        
          Nexus
          http://域名/nexus/repository/maven-public/
          
            true
			always
          
          
            true
            always
          
        
      
      
        true      
        1.8
      
      
        1.8
        1.8
        1.8
      
    



    nexus

6.修改工程的pom.xml

如果要发布自己的jar到私服,就需要修改工程的pom.xml,添加如下内容,否则什么都不用做:


    
        nexus
        Releases
        http://域名/nexus/repository/maven-releases
    
    
        nexus
        Snapshot
        http://域名/nexus/repository/maven-snapshots
    

注意:上面的repository的id值一定要跟settings.xml文件中配置的server一致。上传到Nexus上,使用 mvn deploy 即可,开发的时候请使用snapshot版本,也就是version的后缀必须是-SNAPSHOT。

引用:

1.阿里云 ECS服务器(CentOS 7)安装和使用Nexus教程

2.maven私服nexus3.x环境配置

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号