Nginx反向代理的两种配置方式
一、nginx反向代理简单配置
1、准备nginx环境
这篇文章的前提是已经配置好了NGINX,而且tomcat已经配置好了,而且能能够访问了。
反向代理不同端口(本案例均是单节点)
这里介绍一台nginx服务器(192.168.83.130),代理两个本机的tomcat(端口分别为:192.168.83.130:8080、192.168.83.130:8081),下面是安装后情况:
1)nginx目录:
2)tomcat实例:
首先在两个tomcat的/conf/server.xml里面分别配置端口如下:
分别重启待用。
重启tomcat命令:
#首先,进入Tomcat下的bin目录
cd tomcat安装目录/bin
# 使用Tomcat关闭命令
./shutdown.sh
# 查看Tomcat是否以关闭
ps -ef|grep java
# 如果显示以下相似信息,说明Tomcat还没有关闭
root 12976 1 0 Sep01 ? 00:10:22 /usr/java/jdk1.7.0_80/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start #如果你想直接干掉Tomcat,你可以使用kill命令,直接杀死Tomcat进程
kill -9 12976
#然后继续查看Tomcat是否关闭
ps -ef|grep java
#如果出现以下信息,则表示Tomcat已经关闭
root 19955 19757 0 17:48 pts/0 00:00:00 grep java#启动Tomcat(在bin目录下执行命令)./startup.sh
#查看tomcat日志(记得切换路径哦)
tail -f catalina.out
2、nginx的具体配置
然后在nginx的/conf/nginx.conf下设置如下:
设置完成后重启nginx。
浏览器输入主机ip:http://192.168.83.130/,显示如下
二、负载均衡具体配置
1、上面一种情况是对不同端口的代理 ,也可以采用负载均衡设置(upstream)
这里对不同的ip采用的ip hash策略。
upstream server_tomcat{ip_hash;server 10.1.14.228:8080 weight=8;server 10.1.14.228:80 weight=2;}server {listen 8887;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;proxy_pass http://server_tomcat;proxy_set_header Host $host:$server_port;index index.html index.htm;}
注意 这里的proxy_set_header Host $host;一定要设置,否则无法使用upstream反向代理。报错如下(
upstream后的是tomcat的实例名称,必须和proxy_pass 后面的server_tomcat是同一个实例。
2、 nginx之http反向代理多台服务器(不同的ip的负载均衡)
1)conf文件设置
一个主机(192.168.83.130)代理另2台主机(192.168.83.128、192.168.83.131)上的tomcat类似,只要将 upstream里的ip换掉就行了。
注意 这里的proxy_set_header Host $host;一定要设置,否则无法使用upstream反向代理。
upstream server_tomcat{ip_hash;server 192.168.83.131:8081 weight=2;server 192.168.83.128:8080 weight=8;}
2)参数含义
是Nginx可以基于ngx_http_upstream_module模块提供服务器分组转发、权重分配、状态监测、调度算法等高级功能。http upstream配置参数:upstream name
#自定义一组服务器,配置在http内;指定upstream服务器组的名称,名称中不能包含"_",否则会报错;upstream可以和server配置在一个文件中,也可以单独一个文件,但是upstream不能配置在server里面。server address parameters;
address可以配置为IP、域名、unix套接字;
parameters参数可以配置下面几种:weight=number #设置权重,默认为1。max_conns=number #给当前server设置最大活动链接数,默认为0表示没有限制。max_fails=number #对后端服务器连续监测失败多少次就标记为不可用。fail_timeout=time #对后端服务器的单次监测超时时间,默认为10秒。backup #设置为备份服务器,当所有服务器不可用时将重新启用次服务器。down #标记为down状态。resolve #当server定义的是主机名的时候,当A记录发生变化会自动应用新IP而不用重启Nginx。hash KEY consistent;
#基于指定key做hash计算,使用consistent参数,将使用ketama一致性hash算法,适用于后端是Cache服务器(如varnish)时使用,consistent定义使用一致性hash运算,一致性hash基于取模运算。KEY可以设置为$request_uri,基于用户的请求的uri做hash运算。ip_hash;
#源地址hash调度方法,基于的客户端的remote_addr(源地址)做hash计算,以实现会话保持。least_conn;
#最少连接调度算法,优先将客户端请求调度到当前连接最少的后端服务器。注:调度算法需要设置在upstream中;默认调度算法是轮询。
nginx之http反向代理多台服务器
三、反向代理web架构
Nginx反向代理的两种配置方式相关推荐
- Java框架篇---spring aop两种配置方式
Java框架篇---spring aop两种配置方式 第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步: 1. 使用注解@Aspect来定义一个切面,在切面中 ...
- SpringBoot的properties和yml两种配置方式, 配置注入参数, 以及配置文件读取失效的问题
SpringBoot支持两种配置方式,一种是properties文件,一种是yml 首先在pom文件中添加依赖: <dependency><groupId>org.spring ...
- Nginx反向代理以及负载均衡配置
一 .nginx 的优缺点: nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则 ...
- Oracle RAC集群资源的两种配置方式,Admin Managed 和 Policy Manager,以及实验
对于Oracle RAC集群数据库,有两种资源管理方式:Administrator Managed(管理员管理的),Policy Managed(策略管理的) 要理解这两个概念,首先应该了解Serve ...
- SpringAop动态代理的两种实现方式
Spring的面向切面编程也是基于动态代理来实现的 静态代理:也就是自己手动创建的代理对象 动态代理:也就是在程序运行中通过配置参生的 那么Spring的AOP也就是面向切面编程,就是基于动态代理来实 ...
- Vite内网ip访问,两种配置方式
问题 使用vite运行项目的时候,控制台会只出现127.0.0.1(localhost)本地地址访问项目.不可以通过公司内网ip访问,其他团队成员无法访问,这是因为没有将服务暴露在局域网中: 两种解决 ...
- nginx反向代理的三种方式
文章目录 根据域名代理 根据端口代理 根据路径path代理 总结 根据域名代理 server {listen 1111;server_name tomcat.local;proxy_set_heade ...
- Nginx反向代理实现负载均衡配置图解
come from: http://www.php100.com/html/program/nginx/2013/0905/5529.html 负载均衡配置是超大型机器需要考虑的一些问题,同时也 ...
- Nginx反向代理、使用OneinStack配置Nginx、多网站配置、多域名配置
文章目录 一.卸载原装Nginx 二.通过 OneinStack 安装 Nginx 三.创建 vhost 四.按照提示选择或输入相关信息 文章PDF下载 配不好Nginx,誓不罢休 本教程适用于 不会 ...
最新文章
- Python解析json字符串,json字符串用法
- Java多线程、高并发秒杀时MySQL出现死锁原因(Deadlock found when trying to get lock)及对应解决方案
- 计算机电子与网络技术,电子信息工程与计算机网络技术
- 去培训机构参加IT培训值不值
- 解决客户端从服务器请求数据乱码问题
- ASP.net 網站和Web Application的區別(轉)
- Opencv3编程入门学习笔记(五)之通道分离(split)与合并(merge)
- 电子计算机技能竞赛数据,2015年浙江省中等职业学校计算机应用技术专业学生职业技能大赛“计算机检测维修与数据恢复”赛项规程.doc...
- 继苹果亚马逊之后 微软加入1万亿美元市值俱乐部
- Node Sass version 6.0.0 is incompatible with ^4.0.0.
- php网站信息更新时间,php显示当前时间_php 自动更新时间
- 如何解二阶齐线性微分方程
- php基础知识速记,电气工程师5大背诵妙招速记基础知识
- 【微信测试号实战——02】编写你独有的微信消息模板
- VS找到w3wp.exe 附加到23wp.exe进行debug程序调试
- Hikari数据库连接池泄露问题排查
- Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库之后的切换到指定的工作空间...
- [深入理解Android卷二 全文-第四章]深入理解PackageManagerService
- 【解决方案】如何结合智慧工地上云平台实现视频监控的多终端观看?
- 按了锁定计算机,鼠标锁定了按什么键解锁
热门文章
- 排序算法《一》冒泡排序
- java弱签名视为未签名,[java 被视为未签名]QQ幸福签名:你所愿,我终于将你视为平常,连看你一眼都觉得多余。...
- 小米刷 android o,一代神机!五年前的小米2刷入Android 8.0原生系统
- 挣扎数学建模:各种算法汇总(2)多属性决策模型
- 时序分析寄存器到寄存器
- 空军部队计算机专业有没有用武之地,报名当兵可以选择陆军、海军、空军、武警、火箭军,艰苦地区部队...
- 蓝桥杯-K好数(详解易懂)java
- Enter实现Tab键的功能
- webserver、phpstorm和IDEA报错: 创建JVM失败,JVM路径:D:WebStorm 2020.1\jbr\
- 【linux】将Linux里的文件上传 到gitee仓库