Centos7中nginx的使用
Centos7中nginx的使用
- 一、nginx的作用。。
- 二、反向代理。。
- 三、负载均衡。。
- 四、动静分离。。
- 五、nginx的高可用性。。
- 1、准备
- 2、安装keepalived
- 3、修改配置文件
- 4、启动
一、nginx的作用。。
1、反向代理
2、负载均衡
3、动静分离
4、nginx的高可用性
二、反向代理。。
1、概念性解释
解释:反向代理,就是使用nginx代理服务器。客服端不知道处理请求的是那个服务器。与反向代理对应的,也有正向代理,代理的是客户端,服务器不知道请求来源于那个客户,比如翻墙软件。
2、nginx实现反向代理的步骤
(1)、准备一个应用服务器tomcat项目
(2)、修改nginx的配置(conf/nginx.conf)内容
访问过程:我们在浏览器上访问nginx的80的监听端口,nginx就会将访问转到proxy_pass的值上。
三、负载均衡。。
这是在反向代理的基础上进行的操作,上边就是让nginx代理了一台服务器,这是让nginx代理多个服务器。负载均衡:给服务器均衡的分发访问流。如果我们只有一台服务器,那么当访问量很大很时,服务器很容易出现宕机。所以就部署多台服务器,服务器提供相同的服务器,用nginx进行分发,将访问的压力分流,提高并发性。
1、准备:
准备两个服务器,服务器上部署相同的web项目,但是为了看到访问被分发到不同的服务器上,先让web项目的页面显示不同的效果。
2、改配置文件
3、nginx的访问分发策略
(1)、轮询(默认的)。就是你一下,我一下(2)、权重。设置不同服务的访问侧重(3)、ip_hash。这种策略下,客服端第一次被分发到那台服务器,就会一致访问这要服务器
权重示例:
ip_hash示例:
四、动静分离。。
动静分离:将项目中的静态资源放在nginx中,让nginx帮忙加载静态资源,减小应用服务器的压力。
步骤:
(1)、将静态资源放在nginx的目录下
(2)修改配置文件 conf/nginx.conf
当访问192.168.213.188:8080时,该服务所需要的静态资源就会在nginx中被加载
五、nginx的高可用性。。
什么是nginx的高可用性?我们在使用nginx做反向代理、负载均衡、动静分离的过程中,如果使用一台
nginx服务器,如果这个服务器挂了,那么整个应用系统也就全完了。高可用性就是
给nginx主服务器再搭建一台从服务器,当主服务器挂掉之后,可以立即自动启用从
服务器做应用。
运行原理图:
摘自:https://nishigouzi.github.io/2020/06/07/Nginx%E7%AC%94%E8%AE%B0/#more
操作:
1、准备
(1)、两台nginx服务器 192.168.213.188 和192.168.213.199
(2)、两台服务器上分别安装keepalived
(3)、需要设置虚拟ip
2、安装keepalived
yum install keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装了keepalived
注:keepalived默认安装路径:/etc/keepalived
成功后:etc目录下会有keepalived目录,里边有keepalived.conf配置文件
3、修改配置文件
(1)keepalived.conf
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_ server 192.168.213.188 #nginx服务器ipsmtp_connect_timeout 30router_id LVS_DEVEL # LVS_DEVEL这字段在/etc/hosts文件中看;通过它访问到主机,也可直接写成主机的ip
}vrrp_script chk_http_ port {script "/usr/local/src/nginx_check.sh"interval 2 # (检测脚本执行的间隔)2sweight 2 #权重,如果这个脚本检测为真,服务器权重+2
}vrrp_instance VI_1 {state MASTER # 备份服务器上将MASTER 改为BACKUPinterface ens33 #虚拟机网卡名称virtual_router_id 51 # 主、备机的virtual_router_id必须相同priority 100 #主、备机取不同的优先级,主机值较大,备份机值较小advert_int 1 #每隔1s发送一次心跳,用来判断nginx服务器的状态authentication { # 校验方式, 类型是密码,密码1111auth type PASSauth pass 1111}virtual_ipaddress { # 虛拟ip192.168.213.50 // VRRP H虛拟ip地址,两台nginx中的虚拟路径要一样}
}
(2)、在路径usr/local/src下新建检测脚本 nginx_check.sh
#! /bin/bash
A=`ps -C nginx -no-header | wc - 1`
if [ $A -eq 0];then/usr/local/nginx/sbin/nginx #自己的nginx服务启动项的地址sleep 2if [`ps -C nginx --no-header| wc -1` -eq 0 ];thenkillall keepalivedfi
fi
以上操作是每台nginx服务器都要进行的
4、启动
(1)、启动两台nginx服务器
./nginx
(2)、启动两台keepalived的服务
启动命令:systemctl start keepalived.service
关闭命令:systemctl stop keepalived.service
(3)、测试访问
①、在浏览器上输入虚拟ip192.168.213.50
②、将主服务器上的nginx和keepalived停止,再使用虚拟路径进行访问,仍然有效
Centos7中nginx的使用相关推荐
- centos7中Nginx服务器的安装教程
测试环境 操作系统:centos7 64位 1611 Nginx版本:1.11.10 Nginx的安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境. GC ...
- Linux中nginx如何重启、启动与停止/设置开机自启动
目录 0.补充有关于centos7中nginx开机自启动内容,跳转地址如下: 一.启动/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/ngin ...
- CentOS7中使用yum安装Nginx的方法
最近无意间发现Nginx官方提供了Yum源.因此写个文章记录下. 1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添加源: ...
- CentOS7中使用yum安装Nginx的方法(亲测启动方法)
最近无意间发现Nginx官方提供了Yum源.因此写个文章记录下. 1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添加源: ...
- CentOS7中使用yum安装Nginx
linux centos7.6安装 nginx 1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添加源: sudo rpm ...
- 在centOS7中安装nginx教程
在centOS7中安装nginx教程 在安装nginx之前,确保你的虚拟机能够联网! 安装nginx步骤: 一.安装好nginx所依赖的环境(gcc.PCRE.zlib.Open SSL). 二.安装 ...
- 开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8
题外话:直到今天开始写本系列的第三篇时本人才想好为这个系列取一个名字,本系列不是为Linux运维人员准备的,而是主要为开发人员准备的,包括但不限于: 希望了解Linux的开发人员: 需要在Linux上 ...
- centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)
记录一次Django部署的文章,不是很熟悉Linux系统,踩了不少坑,本篇文章相当于是一个总结,我会在本文中详细介绍,部署单个Django项目和多个Django的方法,如读者有更好的方法,欢迎留言一起 ...
- Centos7安装Nginx监控组件Nginx-rrd【二】
Centos7安装Nginx监控组件Nginx-rrd 1. 安装perl.rrdtool 2. 安装Nginx-rrd 1. 下载Nginx-rrd 2. 配置nginx-rrd.conf 3. 配 ...
最新文章
- Windows 开机自启Web服务
- 深入解析Java AtomicInteger 原子类型
- If you are confused about the future
- go 捕获网卡http_接口测试工具Postman(三)使用postman抓包捕获HTTP请求-Go语言中文社区...
- ntr模式_ntr什么意思?求详细解释。。。
- C#算法设计排序篇之08-计数排序(附带动画演示程序)
- 我并不想劝人创业当老板
- Docker-学习笔记
- 【路径规划】基于matlab模拟退火算法求解多车型路径规划问题【含Matlab源码 913期】
- Oracle数据库下载安装和卸载简单说明
- 十二款硬盘数据恢复软件,百分之九十五的人没听过!
- window7下visio 2013 64位激活工具
- 戴尔G7音频驱动问题
- 全体起立!广州大学数据库综合设计实验
- jQuery获得当前元素id
- 系统安全与应用【上】
- LeetCode刷题: 【914】卡牌分组(求N个数的最大公因数)
- proble tip
- 机器学习系列(7)_机器学习路线图(附资料)
- 全球与中国生物气溶胶监测仪市场深度研究分析报告
热门文章
- 《Sibelius 脚本程序设计》连载(十九) - 2.6 循环语句
- hadoop错误找不到或无法加载主类
- 彻底关闭苹果系统更新_强迫症福利!终于可以关闭iPhone手机系统更新
- php获取客户端地区,jquery 获取客户端ip地址 和 地区位置
- 个人成长历程(三)—购房篇
- 小米手机怎么截屏?详细的教程
- offsetLeft,offsetWidth,offsetX,
- 怎么提取照片中的文字?
- Unity iOS 之 [iOS]App上架流程[利用Archive进行上传]
- Java 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?