nginx反向代理

Tomcat 搭配 Nginx 还是 Apache 呢?

痴心易碎 提交于 2020-03-14 12:17:01
Apache 、Tomcat、Nginx的区别, 哪个与Tomcat搭配效率高? 一、 定义: 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。 (Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。) 缺点:配置相对复杂,自身不支持动态页面。 2. Tomcat: Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。 3. Nginx Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。 二、 比较 1. Apache与Tomcat的比较 相同点: * 两者都是Apache组织开发的 * 两者都有HTTP服务的功能 * 两者都是免费的 不同点: * Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机

git push报错:error: RPC failed; result=22, HTTP code = 413

人盡茶涼 提交于 2020-03-13 13:48:12
  新项目推送到服务器时报错: error: RPC failed; result=22, HTTP code = 413| 7.66 MiB/s fatal: The remote end hung up unexpectedly   查了下,属于项目中有大文件,而http推送限制造成的,需要修改服务器配置。因为git服务器是通过nginx做反向代理之后实现的,因此需要修改nginx和appache(git服务器): 1、nginx服务器配置:/etc/nginx/conf.d/default.conf中的server小节加入:client_max_body_size 100m; 2、apache配置:/etc/httpd/conf.d/git.conf中对应Location小节中加入:LimitRequestBody 52428800 来源: https://www.cnblogs.com/badwood316/p/6600991.html

Nginx学习—反向代理

人盡茶涼 提交于 2020-03-12 08:15:19
一、代理分类 代理一般分为正向代理和反向代理。正向代理简单点说就是内部网络通过代理服务器访问外部网络,反向代理就是外部网络通过代理服务器反问内部网络。 nginx就是这种反向代理服务器。 二、nginx的反向代理方式 1.proxy_pass方式 2.fastcgi方式 来源: oschina 链接: https://my.oschina.net/u/2347196/blog/518644

nignx正向代理,nginx反向代理

。_饼干妹妹 提交于 2020-03-12 08:11:08
nginx正向代理 正向代理就是假设有一个内网 内网有两台机器,这两台机器只有 a 可以上网 b 不能上网,但是 a 和 b 通过网络相连接 这时如果 b 想访问外网,就可以通过 a 来正向代理访问外网 正向代理就是在内网中模拟目标服务器,把内网中其它机器的请求 转发给外网中的真正的目标服务器 所以正向代理是接受内网其它机器的请求的 反向代理则是反过来 也是一个内网,有几台机器,只有其中一台与外网连接 但是反向代理接受的不是内网机器的访问请求 反向代理接受的是外网过来的访问请求 然后把请求转发到内网中的其它机器上去 外网发出请求的用户并不知道反向代理的服务器把请求转发给了谁 要在一台机器上设置正向代理的功能 如图,编辑一个nginx配置文件 上图就是配置文件内容 如果配置一台服务器作为正向代理服务器 那么这个虚拟主机配置文件就必须是默认虚拟主机 因为所有访问这台机器的网络请求应该先访问这个虚拟主机才对 所以这里要设置 default_server 然后还要把原来的 默认虚拟主机 配置文件名称修改掉 如图,把 default.conf 配置文件的名称修改一下 这样就取消了原来的默认虚拟主机配置文件了 因为默认的默认虚拟主机配置文件就是 default.conf 配置文件里面的 resolver 119.29.29.29 意思是配置一个 dns 地址 因为是做正向代理

haproxy反向代理

◇◆丶佛笑我妖孽 提交于 2020-03-09 19:08:21
haproxy是个高性能的tcp和http的反向代理。它就是个代理。不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1、web服务器,应用比较广泛,大家都会 2、可以作为7层负载均衡,location设置复杂的基于HTTP的负载均衡 3、性能强大,网络依赖小 4、安装配置简单 缺点: 1、健康检查单一,不支持基于url的健康检查(可以使用第三方插件实现) 2、负载均衡算法少 3、不能动态管理,比如踢出某个web节点,需要reload配置 4、没有集群upstream的状态页面    haproxy的优点和缺点 优点: 1、专门做反向代理负载均衡 2、负载均衡算法比较多,大于等于8种,比nginx丰富 3、性能不低于nginx,大于等于nginx 4、支持动态管理,通过和haproxy的sock进行通信,可以进行管理 5、有比较丰富的Dashboard的页面,监控方便。有管理页面 6、比较强大的7层反向代理功能,在7层方便,功能强大 7、会话保持比nginx丰富。可以基于cookie和源IP(nginx也能做到基于IP和cookie) 缺点: 配置没有Nginx简单(相对熟悉)    先杀掉原先的nginx进程,防止80端口被占用,导致haproxy无法启动 [root@linux-node1 conf]# pkill

Service Mesh

元气小坏坏 提交于 2020-03-08 14:16:03
Description Service Mesh 架构下,服务间调用会通过服务名(Service Name)互相调用,比如在 Kubernetes 、Docker Swarm 集群中,服务 IP 均由集群动态分配,外部网络无法直接访问到集群内部的服务。对于大型系统,微服务的数量较多,服务间的调用关系也错综复杂,遇到问题时,本地启动整个服务集群去 Debug,不仅需要本地电脑有很高的配置,而且操作起来也比较麻烦。比较优雅一点的做法是本地启动相应服务,gRPC 调用都连接到远程集群。 Nginx gRPC Module Nginx 版本 1.13.10 之后支持 gRPC 反向代理,这样我们就能通过在集群中部署 Nginx 服务,来连通外部网络和集群内的服务。 Kubernetes Demo 1、Deploy gRPC Server In Kubernetes Cluster 首先,在 Kubernetes 集群中部署镜像为 python:3 的容器,为下面的代码提供运行环境 然后,克隆项目 https://github.com/ChinaSilence/python-grpc ,执行 pip install python-grpc 安装依赖 接着,在 python-grpc 目录下执行 python server/server.py ,观察日志,等待 gRPC server 启动成功

Nginx——反向代理多个服务器

元气小坏坏 提交于 2020-03-05 10:56:28
Nginx反向代理多个服务器,意思是说,当我们发起了不同的请求到nginx,nginx会根据请求的不同,转发到不同的服务器,如下图,当我们通过8000端口访问资源a时,nginx会将请求转发到8080服务器,当访问资源b时,会转发到8081服务器 我们先做下准备工作,首先准备两个tomcat服务器,分别是8080端口和8081端口,8080端口是默认的,这里进行修改8081的端口,首先我们进入tomcat下的conf目录下,进入server.xml文件进行如下两个地方的修改 一、修改shutdown端口号为8015 二、修改start端口号为8081 这样我们就有了两个tomcat了,接下来我们启动一下这两个tomcat,看是否都能访问,如果不能访问,可能就是你防火墙的问题, systemctl stop firewalld ,这个命令可以关闭防火墙,如果还不能访问,可能是阿里云未打开端口 当你的tomcat都可以正常访问后,我们在8080服务器上部署资源a,在8081服务器上部署资源b,具体部署,就是在tomcat下的webapps目录下分别创建a目录和b目录,并创建index.html,里面分别写8080,8081,方便一会测试,这里给出资源a 好了,接下来就是配置nginx了,进入到nginx的conf目录下打开nginx.conf文件,手动配置一个server块

nginx反向代理非80端口

↘锁芯ラ 提交于 2020-03-05 01:18:50
公司项目原本保存在阿里云服务器上,因需要搬迁到华为云上,但是备案尚未通过,使用了二级域名,而阿里云的网址一个月不访问会作废,所以需要先访问阿里云,再反向代理到华为云,并且不能映射80端口。最后我选择使用nginx反向代理81端口。 1. 准备两台在公网环境下的云服务器 例:阿里云:1.1.1.1 华为云:2.2.2.2 2. 在服务器上安装nginx并启动,在阿里云,华为云上开启需要的端口 使用telnet测试服务器端口是否能访问 ①打开cmd窗口并输入指令:telnet 云服务器ip地址 端口 telent 2.2.2.2 80 ②按下enter出现下图画面则表示端口开启成功(81端口同上) ③在云服务器上输入以下指令查看端口是否被监听 如上图所示,nginx已经在监听80,81端口 3.反向代理阿里80端口到华为81端口 1.因华为云单独监听81端口接收http请求,所以阿里云端口映射时需要在二级域名后携带端口 ①阿里云nginx.conf配置文件如下: 这样华为云服务器通过监听域名和端口再反向代理到内网服务器,否则会转向第一个监听默认端口80的server。 ②华为云server监听81端口和server_name为二级域名后可以再进行反向代理 华为云nginx.conf配置文件如下: 来源: CSDN 作者: AbortionL 链接: https://blog.csdn

Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理

六眼飞鱼酱① 提交于 2020-03-05 00:52:29
Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理 #一、Ingress简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress ###1、Ingress组成 ingress controller   将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务   将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可 ###2、Ingress工作原理 1.ingress controller通过和kubernetes api交互,动态的去感知集群中ingress规则变化, 2.然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置, 3.再写到nginx-ingress-control的pod里,这个Ingress controller的pod里运行着一个Nginx服务,控制器会把生成的nginx配置写入/etc/nginx.conf文件中, 4.然后reload一下使配置生效。以此达到域名分配置和动态更新的问题。 ###3

Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理

ぐ巨炮叔叔 提交于 2020-03-05 00:29:33
Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理 #一、Ingress简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress ###1、Ingress组成 ingress controller   将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务   将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可 ###2、Ingress工作原理 1.ingress controller通过和kubernetes api交互,动态的去感知集群中ingress规则变化, 2.然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置, 3.再写到nginx-ingress-control的pod里,这个Ingress controller的pod里运行着一个Nginx服务,控制器会把生成的nginx配置写入/etc/nginx.conf文件中, 4.然后reload一下使配置生效。以此达到域名分配置和动态更新的问题。 ###3