nginx集群

linux集群架构-网站的搭建

喜欢而已 提交于 2019-11-30 02:03:48
1.nginx开启目录浏览,提供下载功能 默认情况下,网站返回index指定的主页,但如果该网站不存在主页,则会将请求交给autoindex模块,如果开启autoindex模块,则提供一个下载页面,如果没有开启autoindex,则会报错403 [root@web01 centos]# cat /etc/nginx/conf.d/mirror.oldxu.com.conf server { listen 80; server_name mirror.oldxu.com; charset utf8; #字符集 location / { root /code; index index.html; autoindex on; #开启目录索引,提供下载 autoindex_exact_size off; #以人性化方式显示大小 autoindex_localtime on; #与本地时间保持一致 } } 2.nginx实现访问控制,基于来源ip控制,基于用户名密码控制 例一:允许特定的IP访问,其他全部拒绝 [root@web01 ~]# cat /etc/nginx/conf.d/mirror.oldxu.com.conf server { listen 80; server_name mirror.oldxu.com; root /code; charset utf8;

Nginx+tomcat配置集群

送分小仙女□ 提交于 2019-11-30 01:16:09
开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务。之初,曾有个小小的疑问为何不采用开源的apache、Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx、apache是基于http反向代理方式,位于ISO模型的第七层应用层。直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提供负载均衡。 了解了二者之间的区别于应用场景,对Nginx产生浓厚的兴趣,阅读张宴的<实战Nginx>(这个85年的小伙子年轻有为羡慕+妒忌),搞明白了大致原理和配置,Ubuntu10.10,window下对Nginx+tomcat负载均衡做了配置尝试,将全部请求转发到tomcat,并未做静态,动态分开,图片防盗链等配置。 Nginx 介绍 Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯

Nginx 相关介绍

本小妞迷上赌 提交于 2019-11-30 00:41:21
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。 然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个WEB服务器有着各自鲜明的特点。 Apache的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。它不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。 这些都决定了Apache不可能成为高性能WEB服务器,轻量级高并发服务器Nginx就应运而生了。 俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间,使用C语言开发了Nginx。Nginx作为WEB服务器一直为Rambler Media提供出色而又稳定的服务。

用nignx搭建tomcat集群

大憨熊 提交于 2019-11-29 23:35:42
一、前言   什么是tomcat集群?   利用nginx进行分流,将请求分配给不同的tomcat去处理,减少每个tomcat的负载量,提高服务器的响应速度。    二、搭建集群 (一)、创建两个tomcat站点   解压tomcat的安装包到指定路径,这里我把它放在了 /usr/local 下面,然后修改文件夹名称分别为 tomcat1和tomcat2(用来模拟多个服务器的效果)      然后进入tomcat1的ROOT目录下      将这个目录中的内容全部删除 "rm -rf ",然后上传一个 index.html 文件,这里上传文件使用一个 软件工具 "lrzsz。   首先安装一下:"yum -y install lrzsz", 然后 输入指令 rz -y 上传index.html文件到tomcat1,2的根目录下 (二)、修改tomcat的配置文件   进入tomcat1的conf文件夹下,修改 server.xml文件,防止与tomcat2冲突   修改端口号防止冲突            这里还要开放8081端口,才能被访问到 /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT /etc/rc.d/init.d/iptables save (三)、启动两个tomcat   进入tomcat1和tomcat2

Haproxy搭建web群集

跟風遠走 提交于 2019-11-29 22:07:14
Haproxy搭建web群集 常见的Web集群调度器 目前常见的Web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些 产品,如梭子,绿盟等 Haproxy应用分析 LVS在企业应用中负载能力很强,但存在不足 LVS不支持正则处理,不能实现动静分离 对于大型网站,LVS的实施配置复杂,维护成本相对较高 Haproxy是一款可提供高可用性,负载均衡,及基于TCP和HTTP应用的代理软件 特别适用于负载特别大的Web站点 运行在当前的硬件上可支持数以万计的并发连接连接请求 Haproxy的三种算法 RR (Round Robin) RR算法是最简单最常用的一种算法,轮询调度 举例理解 有三个节点A,B,C第一个用户访问会被指派到节点A,第二个用户访问会被指派到节点B,第三个用户访问会被指派到节点 第四个用户访问继续指派到节点A,轮询分配访问请求实现负载均衡 LC (Least Connections ) LC算法即最小连接算法,根据后端的节点连接数大小动态分配请求 举例理解 有三个节点A,B,C,各节点的连接数A:4,B:5,C:6,此时如果有第一个用户连接请求,会被指派到A上,连接数为A:5,B:5,C:6 第二个用户请求会继续分配到A上,连接数变为A:6,B:5,C:6,再有新的请求会分配到B

05.Nginx反向代理服务

本秂侑毒 提交于 2019-11-29 22:01:43
1.Nginx代理服务基本概述 1.代理一词往往并不陌生, 该服务我们常常用到如(代理理财、代理租房、代理收货等等),如下图所示 2.在没有代理模式的情况下,客户端和Nginx服务端,都是客户端直接请求服务端,服务端直接响应客户端。 3.那么在互联网请求里面, 客户端往往无法直接向服务端发起请求, 那么就需要用到代理服务, 来实现客户端和服务通信,如下图所示 2.Nginx代理服务常见模式 那Nginx作为代理服务, 按照应用场景模式进行总结,代理分为正向代理、反向代理 正向代理,(内部上网) 客户端<-->代理->服务端 反向代理,用于公司集群架构中,客户端->代理<-->服务端 5.正向与反向代理的区别 区别在于形式上服务的"对象"不一样 正向代理代理的对象是客户端,为客户端服务 反向代理代理的对象是服务端,为服务端服务 3.Nginx代理服务支持协议 1.Nginx作为代理服务,可支持的代理协议非常的多,具体如下图 2.如果将Nginx作为反向代理服务,常常会用到如下几种代理协议,如下图所示 3.反向代理模式与Nginx代理模块总结如表格所示 反向代理模式 Nginx配置模块 http、websocket、https ngx_http_proxy_module fastcgi ngx_http_fastcgi_module uwsgi ngx_http_uwsgi

Nginx加权轮询算法

女生的网名这么多〃 提交于 2019-11-29 20:57:48
记录一下nginx加权分配算法。 nginx可以指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream backend { server a weight=6; server b weight=3; server c weight=1; } 按照配置,每有10次请求,其中6个会转发到a服务器,3个转发到b服务器,1个转发到c服务器。 每个服务器都有三个权重变量,先解释下它们的含义。 (1) weight 配置文件中指定的该服务器的权重,这个值是固定不变的。 (2) effective_weight 服务器的有效权重,初始值为weight。 在释放服务器时,如果发现和某服务器的通信过程中发生了错误,就减小它的effective_weight。 此后有新的请求过来时,在选取该服务器的过程中,再逐步增加effective_weight,最终又恢复到weight。 之所以增加这个字段,是为了当服务器发生错误时,降低其权重。 (3) current_weight 服务器目前的权重,初始为0,之后会动态调整。 那么如何动态调整呢? nginx每次选取服务器时: 先遍历集群中所有服务器,将每个服务器的current_weight增加它的effective_weight, 再累加所有服务器的effective_weight,保存为total。

nginx入门

谁说我不能喝 提交于 2019-11-29 20:35:19
什么是nginx? nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。 nginx应用场景 1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。 2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。 3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。 nginx优缺点 占内存小,可以实现高并发连接、处理响应快。 可以实现http服务器、虚拟主机、反向代理、负载均衡。 nginx配置简单 可以不暴露真实服务器IP地址 nginx.conf 介绍 配置静态访问 Web server很重要一部分工作就是提供静态页面的访问,例如images, html page。nginx可以通过不同的配置,根据request请求,从本地的目录提供不同的文件返回给客户端。 打开安装目录下的nginx.conf文件

kubernetes快速应用入门

放肆的年华 提交于 2019-11-29 19:14:06
kubectl 就是 api server的客户端工具 创建一个nginx的pod [root@master ~]# kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1 kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead. deployment.apps/nginx-deploy created 查看pod状态 [root@master ~]# kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 1/1 1 1 54s [root@master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deploy-55d8d67cf-xdxcj 1/1 Running 0 85s [root@master ~]# kubectl get pods -o wide

linux搭建tomcat集群+nginx

一曲冷凌霜 提交于 2019-11-29 17:25:49
安装JDK 一、官方下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后得到: 二、上传解压 在xshell中rz上传文件 通过命令:tar -zxvf jdk-8u221-linux-x64.tar.gz解压 三、配置环境变量 通过命令vim /etc/profile/进入配置环境 为了防止你们出错,顺便粘贴出来了 export JAVA_HOME=/usr/local/jdk/jdk1.8.0_221 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 修改完之后,重新之后用命令source /etc/profile/重启一下配置环境 然后输入 java -version,能看到如图下的版本信息 Linux安装nginx 在usr/local创建nginx文件夹 mkdir nginx https://blog.csdn.net/weixin_33446857/article/details/80840121 安装tomcat 上传apache-tomcat-8.5.45.tar.gz到到usr