zoukankan      html  css  js  c++  java
  • 搭建 nexus 私服的一些问题记录

    工作原因,需要搭建自己公司项目的 maven 私服。前置条件是使用 nexus 的 oss3.27,nginx 使用系统默认的 nginx1.8,使用阿里云 ECS,购买了免费的 ssl 证书。

    仅记录一些遇到的蹊跷问题~

    下载的 nexus 包打开之后,包含两个主要目录,分别是 :nexus和 sonatype-work 目录。其中:

    nexus:是 nexus 的应用目录,包含启动 nexus 所需的一些应用支持,比如 jetty。

    sonatype-work:是 nexus 的数据目录。

    1. nexus用户问题

    nexus强烈建议创建独立的用户用于启动 nexus。这样会带来2个附加问题:

    其一,需要修改nexus/bin/nexus.rc 文件,填充里面的启动用户设置

    其二,有时手工启动可能会忘了切换到 nexus 用户,使用 root 启动后在数据目录中建立的缓存,后续切换到 nexus 启动时会因为权限问题无法删除,而导致 nexus 无法启动。

    2.目录问题

    一般情况下,将 nexus 和 sonatype-work 放在平级即可。但有时可能会放在不同的目录,此时需要修改 nexus/bin/nexus.vmoptions文件中关于:data、log、tmp 几个配置的设置值,不然会导致 nexus 无法启动。

    3.端口和路径问题

    多数时候,我们肯定不会让 nexus 直接运行在80端口,多数是前置一个 nginx 转发指定目录。此时可以修改:sonatype-work/nexus3/etc 中的nexus.properties文件。修改其中的 application-port 和nexus-context-path 两个配置项

    4.nginx使用 https 的问题

    前置的 nginx 如果使用 http 协议访问,基本没什么特殊注意的,常规配置即可。但是如果使用了 https,需要注意下面两项的设置:

    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto "https";

    如果使用常见的方式,将 Host 设置为$http_host 会导致转发后,nexus 中的静态资源依旧是 http 方式载入,导致无法正常访问。因此要改为:$host,同时增加 X-Forwarded-Proto 的配置。

      

  • 相关阅读:
    数据挖掘:基本概念理解
    Linux:数据库服务(Mysql安装及链接、远程链接、genelog)
    Linux:WebServer(Nginx 虚拟主机配置与伪静态实现)
    Linux:WebServer(Apacge)
    单例和多线程
    Redis注册成服务
    Redis基础学习
    sqlserver查询使用with(nolock)详解
    JAVA设计模式-策略模式
    JAVA设计模式-代理模式
  • 原文地址:https://www.cnblogs.com/bashenandi/p/nexus.html
Copyright © 2011-2022 走看看