Running Jenkins behind Nginx
2015-10-29 11:34
387 查看
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:
This assumes that you run Jenkins on port 8080. Remember to create the folder /var/log/nginx/jenkins.
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.
相关文章推荐
- nginx 编译 问题
- NGINX location 在配置中的优先级
- NGINX location 在配置中的优先级
- Nginx安装部署
- NGINX location 在配置中的优先级
- nginx 优化
- Nginx开启关闭脚本,php-cgi脚本
- nginx+ffmpeg筹建rtmp转播rtsp流的flash服务器
- nginx实现带参数目录域名重定向二级域名方法
- Nginx正则表达式之匹配操作符详解
- nginx用cookie控制访问权限实现方法
- nginx中给目录增加密码保护实现程序
- nginx利用proxy_cache来缓存文件
- nginx与apache 限制ip连接数和带宽方法
- graphicsMagick 文档
- nginx实现防盗链配置方法介绍
- nginx服务器防sql注入/溢出攻击/spam及禁User-agents
- 开启Nginx的gzip压缩功能详解
- nginx中针对目录进行IP限制
- nginx上传目录配置,禁止执行权限