二、Nginx配置实例
Nginx配置实例
一、反向代理
实例一
1、实现效果
打开浏览器,在浏览器地址栏输入地址 www.123.com ,跳转到linux系统tomcat主页面中。
2、准备工作
- 在linux系统中安装tomcat,使用默认端口8080
3、访问过程分析
在浏览器地址栏输入地址,请求nginx反向代理服务器,nginx帮助我们将请求转发到linux中的tomcat服务器。
4、具体配置
- 在windows系统的host文件中进行域名和ip对应关系的配置
- 在nginx进行请求转发的配置

实例二
1、实现效果
使用nginx反向代理,根据访问的路径不同跳转到不同的端口服务中去。
nginx监听端口9001
访问 http://192.168.196.132:9001/edu/ 直接跳转到127.0.0.1:8080
访问 http://192.168.196.132:9001/vod/ 直接跳转到127.0.0.1:8081
2、准备工作
- 准备两个tomcat服务器,一个8080端口,一个8081端口
- 创建文件夹和测试页面
3、具体配置
- 在nginx的配置文件中进行反向代理的配置

二、负载均衡
1、实现效果
浏览器地址栏输入 http://192.168.196132/edu/a.html ,负载均衡的平均分发到监听8080端口和8081端口的两个tomcat服务器
2、准备工作
- 准备两台tomcat服务器,一台8080,一台8081
- 在两台tomcat里面webapps目录中,创建名称是edu的文件夹,在文件夹中创建页面a.html,用于测试
3、具体配置

4、nginx负载均衡策略
- 轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器
- weight:权重默认值为1,权重越高被分配的客户端越多
- ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器
三、动静分离
nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成知识单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用nginx处理静态页面,tomcat处理动态页面,动静分离从目前实现角度大致分为两种,第一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另一种方法就是动态跟静态文件混合一起发布,通过nginx来分开。
1、准备工作
- 在linux系统中准备一些静态资源,用于进行访问
2、具体配置

四、高可用集群
nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。
为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。
1、keepalived+nginx实现主备
keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
2、keepalived工作原理
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
- 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(VIP = Virtual IP Address,虚拟IP地址,该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
- keepalived主要有三个模块,分别是core、check和VRRP。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。VRRP模块是来实现VRRP协议的。

3、配置高可用集群
1、准备工作
- 需要两台nginx服务器
- 在两台服务器上安装keepalived
2、完成主从配置
- 完成主从服务器的keepalived的配置文件的编写
- 给两个服务器加入检测脚本
二、Nginx配置实例的更多相关文章
- Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...
- 5、SAMBA服务二:配置实例
①:SAMBA服务一:参数详解 ②:SAMBA服务二:配置实例 5.2.3.Samba共享目录配置实例 1.允许匿名用户读取/it共享目录,修改/etc/samba/smb.conf,在最后添加以下内 ...
- Nginx配置实例-负载均衡实例:平均访问多台服务器
场景 Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...
- nginx配置实例及多服务器负载
目录 nginx配置实例 多服务器负载 nginx配置实例 nginx.conf worker_processes 1; events { worker_connections 1024; } htt ...
- Nginx 配置实例-配置高可用
Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...
- Nginx 配置实例-配置动静分离
Nginx 配置实例-配置动静分离 1. 静态资源的创建 2. nginx 动静分离的配置 3. 验证 1. 静态资源的创建 这里使用的静态资源主要为 HTML 静态文件和图片. mkdir -vp ...
- Nginx 配置实例-配置负载均衡
Nginx 配置实例-配置负载均衡 0. 实例效果 1. 两个 tomcat 的安装(可选) 1.1 tomcat8081 的安装 1.1.1 tomcat8081 安装包的装备 1.1.2 tomc ...
- Nginx 配置实例-配置虚拟主机
Nginx 配置实例-配置虚拟主机 配置基于域名的虚拟主机 1. 配置域名为 aaa.domain.com 的虚拟主机 1.1 nginx 中虚拟主机的配置 1.2 相关目录及文件的创建 1.3 验证 ...
随机推荐
- Doxygen -- part 2
Documenting the code 这个章节涵盖两个主题: 如何在你的代码中放置注释, 一遍doxygen可以在生成的文档中囊括它们. 如何组织一个注释块的内容, 以使得输出美观. 特殊注释块 ...
- CSS-02-css的三种基础选择器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Windows 下部署Subversion
前言 此文章介绍用户在windows环境下部署svn服务,部署svn服务的方式并不是唯一的,我这里仅仅列出了其中很普通的一种,若使用者有其他喜欢的方式也可自行选择 名词介绍 VisualSVN Ser ...
- 每天一道Java题[9]
题目 native关键字的作用是什么? 解答 首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API. 其次,用native关键字声明的方法,是 ...
- artTemplate--模板使用自定义函数(1)
案例 因为公司业务需要频繁调用接口,后端返回的都是json树对象,需要有些特殊的方法做大量判断和数据处理,显然目前简单语法已经不能满足业务需要了,需要自己定制一些 方法来处理业务逻辑. 例如后台返回的 ...
- 浅析YYCache
一.前言 读优秀的源码,对自己的提升还是很快的,无论是考虑问题的角度,还是编码能力. 带着问题读源码的,学习效率更高,可以暂时先定几个小问题,带着问题,去思考为什么作者这样弄,是否有替换方案? 1). ...
- springboot使用servlet
基于注解方式: 基于配置类:
- React+Echarts简单的封装套路
今天我们来介绍一下React中,对Echarts的一个简单的封装. 首先在我们的React项目中,想使用Echart包,首先需要先安装它,安装代码如下,任选一个就可以 cnpm install ech ...
- Ops: 高效组合命令集合
简介 本篇博客收集一些常用的复杂命令组合,这些命令组合能够高效的定位.分析.处理一些问题,希望对需要的小伙伴有所帮助. 命令集合 批量备份文件 将名称为config.xml的文件查找出来,并在原目录备 ...
- error C2338: No Q_OBJECT in the class with the signal (NodeCreator.cpp)
在Qt中,当派生类需要用到信号与槽机制时,有两个要求. 1.该类派生自QObject类. 2.类中有Q_OBJECT宏. 本次报错的原因就是因为没有在类中添加Q_OBJECT宏. 而我的出错原因更傻逼 ...