zoukankan      html  css  js  c++  java
  • Running Jenkins behind Nginx

    original : https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Nginx

    In situations where you have existing web sites on your server, you may find it useful to run Jenkins (or the servlet container that Jenkins runs in) behind Nginx, so that you can bind Jenkins to the part of a bigger website that you may have. This document discusses some of the approaches for doing this.

    When a request arrives for certain URLs, Nginx becomes a proxy and further forward that request to Jenkins, then it forwards the response back to the client. A typical set up for mod_proxy would look like this:

    server {
      listen          80;       # Listen on port 80 for IPv4 requests
    
      server_name     jenkins.example.com;
    
      #this is the jenkins web root directory (mentioned in the /etc/default/jenkins file)
      root            /var/run/jenkins/war/;
    
      access_log      /var/log/nginx/jenkins/access.log;
      error_log       /var/log/nginx/jenkins/error.log;
    
      location ~ "^/static/[0-9a-fA-F]{8}/(.*)$" {
    
        #rewrite all static files into requests to the root
        #E.g /static/12345678/css/something.css will become /css/something.css
        rewrite "^/static/[0-9a-fA-F]{8}/(.*)" /$1 last;
      }
    
      location /userContent {
            #have nginx handle all the static requests to the userContent folder files
            #note : This is the $JENKINS_HOME dir
    	root /var/lib/jenkins/;
            if (!-f $request_filename){
               #this file does not exist, might be a directory or a /**view** url
               rewrite (.*) /$1 last;
    	   break;
            }
    	sendfile on;
      }
    
      location @jenkins {
          sendfile off;
          proxy_pass         http://127.0.0.1:8080;
          proxy_redirect     default;
    
          proxy_set_header   Host             $host;
          proxy_set_header   X-Real-IP        $remote_addr;
          proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
          proxy_max_temp_file_size 0;
    
          #this is the maximum upload size
          client_max_body_size       10m;
          client_body_buffer_size    128k;
    
          proxy_connect_timeout      90;
          proxy_send_timeout         90;
          proxy_read_timeout         90;
    
          proxy_buffer_size          4k;
          proxy_buffers              4 32k;
          proxy_busy_buffers_size    64k;
          proxy_temp_file_write_size 64k;
    }
    
      location / {
    
         # Optional configuration to detect and redirect iPhones
          if ($http_user_agent ~* '(iPhone|iPod)') {
              rewrite ^/$ /view/iphone/ redirect;
          }
    
          try_files $uri @jenkins;
       }
    }
    

    This assumes that you run Jenkins on port 8080. Remember to create the folder /var/log/nginx/jenkins.

  • 相关阅读:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    虚拟机不能上网
    VMware3种网络模式
    SecureCRT学习之道:用SecureCRT来上传和下载数据
    SecureCRT学习之道:SecureCRT 常用技巧
    SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法
    CentOS7 编译安装LNMP
    提高PHP编程效率的方法
    基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能php平台
    Linux系统部署规范v1.0
  • 原文地址:https://www.cnblogs.com/AloneSword/p/4919958.html
Copyright © 2011-2022 走看看