`

用nginx重建了maven仓库后,jenkins的包一直上传失败,返回413

阅读更多
为了把测试环境中所有的虚机换成物理机,今天把最后一个东东Maven仓库迁移到物理机就算全完工了。结果,出岔子了。

事情是这样的,为了清爽,我为每一个web服务弄了一个域名:
jenkins.allure.so
maven.allure.so
gitlab.allure.so
svn.allure.so...

为了方便,我用nginx做了端口映射。弄完后,美美地搭建了一个基于Nexus的Maven仓库,并把所有pom文件中的仓库地址指向maven.allure.so。
一开始很顺利,用jenkins编译完之后,jenkins会自动把生成的包存一份到maven仓库中。

在编译最基础的包,cu-common的时候,终于遇到妖魔事件,jenkins在把包传到maven的时候报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project cu-common: Failed to deploy artifacts: Could not transfer artifact cu:cu-common:jar:master from/to releases (http://maven.allure.so/nexus/content/repositories/releases): Failed to transfer file: http://maven.allure.so/nexus/content/repositories/releases/cu/cu-common/master/cu-common-master.jar. Return code is: 413, ReasonPhrase: Request Entity Too Large. -> [Help 1]

我当时以为是比较简单的配置问题,可能Nexus哪个地方需要配置一下文件大小限制,于是慢google和baidu找遇到相同问题的人,结果。。。没有遇到相同问题的人!偶尔有也没有明确的答案。因为Nexus的HTTP实现是构建于Jetty之上的,我还自作聪明修改了jetty的http参数,结果问题依旧。

说来惭愧,下午搞了将近七个小时都没有搞定,崩溃边缘,11点半坐在家里郁闷的时候,突然想起来,可能是Nginx搞的鬼:
因为Nginx做了maven.allure.so的端口分发,所有的流量都会流经Nnginx后到达Nexus,而在Nginx层面,http的包大小默认做了限制。

在Nginx的http配置中增加一条配置后问题解决:
http {
    #......
    client_max_body_size 300M;
    #......
}

碎觉。

分享到:
评论
3 楼 mmhotsky 2017-05-17  
我也遇到同样的问题,感谢楼主没有让我花太多时间去解决  
2 楼 fredlong 2016-04-12  
相约的旋律 写道
能贴一下你 nginx.conf 配置文件处理看看吗?


不好意思,现在才看到你的评论,我当时的配置如下,请参考:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  51200;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream nav.xiaoxiang.net{
server 10.10.206.175:8012;
server 10.10.206.190:8012;
server 10.10.206.191:8012;
    }

    server {
        listen       8012;
        server_name  nav.xiaoxiang.net;
        location / {
proxy_pass http://nav.xiaoxiang.net;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }


    upstream cu.xiaoxiang.net{
server 10.10.206.175:8013;
server 10.10.206.190:8013;
server 10.10.206.191:8013;
    }

    server {
        listen       8013;
        server_name  cu.xiaoxiang.net;
        location / {
proxy_pass http://cu.xiaoxiang.net;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    server{
listen 80;
server_name alpha.allure.so;
location / {
root html;
index index.html index.htm;
}
    }

    server {

        server_name  cu.xiaoxiang.net;
listen 443;
ssl on;

        ssl_certificate      /usr/local/nginx/conf/cu.xiaoxiang.net.crt;
        ssl_certificate_key  /usr/local/nginx/conf/cu.xiaoxiang.net.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   sslhtml;
            index  index.html index.htm;
        }
    }

}
1 楼 相约的旋律 2016-02-27  
能贴一下你 nginx.conf 配置文件处理看看吗?

相关推荐

    jenkins+maven+svn+springboot实现一件打包发布

    ### Jenkins + Maven + SVN + SpringBoot 实现一键打包发布 #### 安装 Jenkins 1. **下载 Jenkins** 首先前往 Jenkins 官网下载 Jenkins,官网上提供了两个下载选项: - 如果用于公司环境,建议选择左侧的企业...

    linux下搭建jenkins+git+maven+tomcat高可用集成

    在Linux环境中,构建一个基于Jenkins、Git、Maven和Tomcat的高可用集成系统是一项重要的任务,这对于持续集成和持续部署(CI/CD)流程至关重要。以下将详细阐述这个集成过程中的关键知识点。 首先,我们需要了解每...

    java的web项目的war包实现nginx+tomcat+https的快速和安全的配置

    1. Java War 包的生成:通过 IDEA 的 Maven 形式生成 War 包,或者使用 Jenkins 或 Ant 工具进行打包。 2. Nginx 的安装和配置:使用 ./configure 命令来编译 Nginx,添加 --with-http_stub_status_module 和 --...

    使用Jenkins进行自动化打包文档

    ### 使用Jenkins进行自动化打包与发布的详细指南 #### 一、引言 随着软件开发行业的快速发展,持续集成(CI)和持续部署(CD)已成为现代软件交付流程中的关键环节。Jenkins作为一款开源的自动化服务器,能够有效地...

    Jenkins配置1

    1. **编译部署**:一旦项目配置完成,可以通过Jenkins的构建触发器(如定时构建或代码仓库 webhook)自动执行Maven的`clean package`命令,生成可部署的jar或war包。 2. **运行**:构建完成后,通过SSH插件连接到...

    jenkins部署所需工具

    2. **Jenkins 安装包**:可以从 Jenkins 官方网站下载最新版本的 Jenkins war 文件,或者使用包管理器(如 Linux 的 apt 或 yum,Windows 的 Chocolatey)进行安装。 3. **操作系统兼容性**:Jenkins 支持多种操作...

    Jenkins部署相关脚本.zip

    更新配置后,通常会使用`nginx -s reload`命令来重新加载配置,而无需重启服务。 4. **Jenkins配置**: 要将这些脚本整合到Jenkins,首先需要在Jenkins服务器上安装相应的插件,如Maven Integration、NodeJS(用于...

    CentOS下搭建Git,Gerrit Jenkins版本控制系统

    ### CentOS下搭建Git、Gerrit与Jenkins版本控制系统 #### 一、引言 ##### 1.1 文档目的 本文档旨在提供一个全面的指南,帮助读者在CentOS环境下搭建一套完整的版本控制系统,包括Git、Gerrit以及Jenkins。通过本...

    docker-compose(docker+jenkins+tomcat+mysql)

    docker+jenkins+tomcat+mysql+redis+nginx,实现jenkins自动构建部署。Java+maven是单独搭建的。

    微服务电商项目SpringBoot+SpringCloud +Maven+Redis+ActiveMQ+XXLJOB(分布式任务调度)+ Freemarker

    SpringCloud Eureka作为注册中心、Feign客户端调用工具、断路器Hystrix 视图展示使用Freemarker、数据库层使用Mybatis框架、缓存使用Redis、数据库使用MySQL 项目管理工具使用Maven、版本控制工具使用SVN、项目自动...

    基于 Nginx 的 Java Web 项目灰度发布框架.zip

    2. **构建与部署**:当新功能开发完成后,构建灰度测试分支的war或jar包,部署到服务器上的不同实例或路径。例如,可以将新版本部署到`/gray`路径,而旧版本保持在`/default`路径。 3. **Nginx 配置**:配置Nginx...

    Springboot项目与vue项目整合打包的实现方式

    然而,这种方法不推荐使用手工合并,也不推荐将前端代码构建后提交到Springboot的resource下。好的方式应该是保持前后端完全独立开发代码,项目代码互不影响,借助Jenkins这样的构建工具在构建Springboot时触发前端...

    jenkins:Google Cloud和Jenkins现在是朋友

    并且可以通过环境变量启用或禁用默认情况下启用基本安全性使用Google登录名配置身份验证授权配置为Google网上论坛和全局矩阵授权策略从K8S机密中提供Jenkins凭证具有安全标头的Nginx Ingress默认配置Git插件默认配置...

    毕业设计&课程设计-MySQL项目管理工具使用Maven、版本控制工具使用GIT.zip

    MySQL项目管理工具使用Maven、版本控制工具使用GIT、项目自动部署工具使用Jenkins消息中间件使用ActiveMQ、分布式任务调度系统使用XXLJOB、反向代理工具使用Nginx日志管理插件工具使用lombok、分布式日志收集使用...

    my_jenkins:使用Ngnix安装和配置Jenkins服务器,插件和前端Jenkins

    在本文中,我们将深入探讨如何使用Nginx作为反向代理服务器来安装和配置Jenkins,同时也会涉及Jenkins服务器上的插件管理和前端界面定制。Jenkins是一款强大的持续集成(CI)和持续部署(CD)工具,广泛应用于自动化...

    SpringBoot+adminlte+maven的物流公司管理系统 .zip

    系统上线后,可以通过负载均衡器如Nginx进行流量分发,确保高可用性。 综上所述,基于SpringBoot、AdminLTE和Maven的物流公司管理系统是一个高效、易用且可扩展的解决方案,它整合了多种技术,实现了物流业务的全面...

    Docker Jenkins Git Maven Nexus3持续集成部署

    Docker的镜像、容器、仓库、公服、私服原理,如何使用他们,怎么样使用镜像加速器。 Docker的安装、卸载、启动 Docker快速的安装MySQL、Nginx实战 怎么样构建自己的镜像、Dockerfile的ADD、RUN、CMD、ENTRYPOINT、...

    springcloud项目实战微服务架构源代码+文档说明(电商版一套完整架构)

    项目管理工具使用Maven、版本控制工具使用SVN、项目自动部署工具使用Jenkins 消息中间件使用ActiveMQ、分布式任务调度系统使用XXLJOB、反向代理工具使用Nginx 日志管理插件工具使用lombok、分布式日志收集使用...

    SpringMVC精品资源-- 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目.zip

    本资源包是针对SpringMVC框架的深入学习,它涵盖了如何在IntelliJ IDEA(IDEA)中整合Maven构建工具以及Spring、SpringMVC、MyBatis(SSM)三大主流Java Web开发框架,用于实现一个高并发的商品秒杀系统。...

Global site tag (gtag.js) - Google Analytics