前序

最近在家里的服务器上装了一大堆的服务器软件,大多数都需要Web网站访问的,比如:GitlabApacheJenkins等等。然而又因为是不同的应用,需要占用不同的端口,每次访问起来都需要在IP地址后面再加上端口号,应用太多了就老是记不住端口了。。这才突然发现遗漏Nginx这个神器。


简介

Nginx 主要的作用就是反向代理负载均衡了,一般在互联网公司内,作为负载均衡比较多。但是别忘了,它的一个主要用途还有反向代理。在这里,我们就通过反向代理来使得隐藏端口,二级目录的形式访问这些服务器应用吧。

安装Nginx

如果想要安装最新版本,建议从官网下载源码,然后编译安装。不过我这里偷懒直接使用仓库源安装的,这样一个比较快,二个安装目录和systemd脚本都弄得好好的,堪称开箱即用啊。
Ubuntu/Debian

$ sudo apt-get update
$ sudo apt-get install nginx

反向代理配置

直接编辑nginx配置文件即可,文件所在位置/etc/nginx/config.d/default.conf

$ sudo vim /etc/nginx/config.d/default.confupstream gitlab {# 这里我们需要先手动修改Gitlab的默认访问端口,默认为80server 192.168.1.2:8098;
}upstream apache {server 192.168.1.2:8090;
}upstream rabbit {server 192.168.1.2:15672;
}server {listen    80;server_name    localhost;charset    utf-8;# http://192.168.1.2/file 即可访问apache文件服务器location /file {proxy_pass http://apache/;}location /rabbit {proxy_pass http://rabbit/;port_in_redirect   on;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;}location /jenkins {proxy_pass http://192.168.1.2:8088/jenkins/;# Fix the "It appears that your reverse proxy set up is broken" error.# 修复点击系统管理,出现的反向代理设置有误提示port_in_redirect   on;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;}# 直接IP访问就是Gitlablocation / {proxy_pass http://gitlab/;}
}

总结

Nginx是一个非常强大的工具,这里只是使用到了其实很小的一部分功能。当然也有其他的途径可以做到,但是很少有Nginx这样简单方便的。
配置的过程中,需要注意的是Jenkins的配置,只配置一个proxy_pass的话,它会提示代理配置有误,所以需要多加一些配置。还有就是通过反向代理配置的Jenkins好像不能登录,会出现跳转到j_acegi_security_check报404错误,因为是自己家里用,所以我就直接去掉登录功能了,在Configure Global Security选项中,将启用安全钩去掉就好了。
如果有懂这个反向代理怎么登录的,还望不惜赐教。

Nginx配置二级目录反向代理本机不同端口相关推荐

  1. nginx使用二级路径反向代理不同IP和端口

    场景描述: 通过二级目录(虚拟目录,应用程序)的方式访问同一ip+端口的不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192.168.1 ...

  2. Apache:二级目录反向代理 – 实现不同端口服务在同一网站的访问

    应用背景:在同一服务器网页上,通过不同目录访问内网的不同服务器. 开启相应模块:虚拟主机和代理模块 为了方便操作,最好启用虚拟主机来配置: # 在httpd.conf中取消注释以下代码LoadModu ...

  3. Nginx-04:Nginx配置实例之反向代理1

    Nginx配置实例之反向代理 目的:在浏览器中数输入www.123.com跳转到tomcat主页. 1.准备工作 (1)安装tomcat,使用默认端口8080,进入tomcat的bin目录中,./st ...

  4. Nginx-05:Nginx配置实例之反向代理2

    Nginx配置实例之反向代理 目的:使用nginx反向代理,根据访问的路径跳转到不同端口的服务器中,nginx监听端口为9001. 访问http://192.168.17.129:9001/edu/ ...

  5. nginx 二级目录 php,Nginx 配置二级目录支持

    Nginx 配置二级目录并不像 apache 那么简单,但二级目录的配置在实际工作中又经常用到,现整理如下.欢迎大家访问 二愣的闲谈杂鱼 在 /etc/nginx 目录下创建文件夹 sublocati ...

  6. nginx配置二级目录,反向代理不同ip+端口

    场景描述: 通过二级目录(虚拟目录,应用程序)的方式访问同一ip+端口的不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192.168.1 ...

  7. 【nginx配置】 proxy_pass反向代理配置中url后面加不加/的说明

    在日常的web网站部署中,经常会用到nginx的proxy_pass反向代理,有一个配置需要弄清楚:配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把loca ...

  8. nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128 apache主机,hostname: c ...

  9. 详解nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128                    a ...

最新文章

  1. pythonsqlite视图_SQLite VIEW/视图
  2. 【相对/绝对路径】JavaWeb项目中,请求转发与重定向的路径写法
  3. WriteFile写磁盘扇区是87错误的原因
  4. C++ 在屏幕上用星号打印菱形
  5. The command ‘/bin/sh -c apt-get install -y vim’ returned a non-zzero code: 100
  6. JEECG UI标签库做成单独开源项目规划
  7. LeetCode 500. Keyboard Row
  8. RANSAC与圆柱拟合
  9. Maven MyEclipse创建web项目没有src/maim/java
  10. 神奇的datetime和datetime,一毫秒引发的血案
  11. 二叉树的构造及其前序,中序,后序遍历
  12. 惊心动魄的阿波罗登月:软件和程序员才是幕后的英雄
  13. iOS 关于单例那点事
  14. 偷懒才能编程序——计算机达人成长之路(18)
  15. 信息安全等级保护建设(二,三级)需上的设备
  16. jhipster使用简明教程
  17. 西门子PLC S7 200 SMART 没有触摸屏的仿真
  18. Android 各国语言缩写及简称详细介绍
  19. 开源配置管理中心apollo使用方法
  20. 上门洗车APP --- Android客户端开发 前言及业务简介

热门文章

  1. flask学习二(jsonify)
  2. jquery节点追加
  3. DP4344:国产兼容替代CS4344立体声音频数模DAC转换器
  4. android bench最新,PassMark Android Benchmark Charts
  5. O2O与B2B、B2C、C2C之间的区别
  6. 受“变形金刚”影响,病毒也开始变形了
  7. QQ堂3.3可用外挂
  8. 深浅拷贝到底是什么呢
  9. 关闭shift中英文切换 英文代码/中文注释随意切换着写。
  10. 思科网络工程师的爱情