1、Nginx

业务背景

现公司需求快速搭建web服务器,对外提供给用户web服务。

需求拆分

需要基于http协议的软件,搭建服务实现

介绍

常见用法:

1) web服务器软件 httpd http协议

同类的web服务器软件:apache(老牌) nginx(俄罗斯) IIS(微软)

2)代理服务器 反向代理

3)邮箱代理服务器 IMAP POP3 SMTP

4)负载均衡功能 LB loadblance

Nginx架构的特点:

  • ①高可靠:稳定性 master进程 管理调度请求分发到哪一个worker=> worker进程 响应请求 一master多worker②热部署 :(1)平滑升级 (2)可以快速重载配置③高并发:可以同时响应更多的请求 事件 epoll模型 几万④响应快:尤其在处理静态文件上,响应速度很快 sendfile⑤低消耗:cpu和内存 1w个请求 内存2-3MB⑥分布式支持 :反向代理 七层负载均衡

官方网址:http://nginx.org/

1.2、安装

常见安装方式:

  • ①yum安装配置,需使用Nginx官方源或者EPEL源②源码编译
 #添加运行用户 shell > useradd -s/sbin/nologin -M www #安装依赖 shell > yum -y install pcre-devel zlib-devel openssl-devel #编译安装 shell > cd /root/soft shell > tar xvf nginx-1.14.2.tar.gz shell > cd nginx-1.14.2 shell > ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module && make && make install

编译参数说明

1.3、目录介绍

查看安装目录/usr/local/nginx

1.4、软件操作参数

查看nginx的二进制可执行文件的相关参数

 shell > cd /usr/local/nginx/sbin shell > ./nginx -h

执行后显示

 nginx version: nginx/1.14.2 Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] ​ Options: #查看帮助 -?,-h : this help #查看版本并退出 -v : show version and exit #查看版本和配置选项并退出 -V : show version and configure options then exit #检测配置文件语法并退出 -t : test configuration and exit #检测配置文件语法打印它并退出 -T : test configuration, dump it and exit #在配置测试期间禁止显示非错误信息 -q : suppress non-error messages during configuration testing #发送信号给主进程 stop强制退出 quit优雅的退出 reopen重开日志 reload重载配置 -s signal : send signal to a master process: stop, quit, reopen, reload #设置nginx目录 $prefix路径 -p prefix : set prefix path (default: /usr/local/nginx/) #指定启动使用的配置文件 -c filename : set configuration file (default: conf/nginx.conf) #在配置文件之外设置全局指令 -g directives : set global directives out of configuration file

一般主要使用:

  • -s参数控制管理nginx服务-V参数查看nginx开启的模块和编译参数-t参数检测配置文件是否有错误

2、Keepalived实现高可用

业务背景

单例web服务器能够满足业务基本需求,提供web服务。但是,存在单点故障的问题,即当服务器宕机后,用户将无法获取到服务响应。

为了能够提高用户体验度,能够持续得给用户提供优质的服务,当web服务器不可用时,可以有备用服务器接替web服务器的工作,继续为用户提供响应。其中,还要解决一个问题,需要备用服务器能够快速自动切换过来。

一般将以上业务需求,称为实现服务的高可用HA。

需求拆分

也就是高可用的实现核心:

①冗余服务器(备份服务器)

②自动切换 可以通过绑定虚拟IP的方式 用户通过VIP访问服务

2.1、介绍

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。

keepalived主要使用三个模块,分别是core、check和vrrp。

core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。

check负责健康检查,包括常见的各种检查方式。

vrrp模块是来实现VRRP协议的。

2.2、安装

master和backup都需要进行安装,也就是server01和server03机器

 #安装keepalived shell > yum -y install keepalived

keepalived需要使用的目录和文件:

2.3、配置

①备份主备服务器的配置文件

 shell > cd /etc/keepalived shell > cp keepalived.conf keepalived.conf_bak

②分别修改主备服务器配置文件

 shell > vim keepalived.conf

示例配置文件说明

 ! Configuration File for keepalived #发送邮件的配置 global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } #vrrp协议的配置 vrrp_instance VI_1 { #工作模式 state MASTER #监听的网卡 interface eth0 #虚拟路由id 需要和备服务器一致 virtual_router_id 51 #权重 优先级 priority 100 #vrrp包的发送周期 1s advert_int 1 #权限验证 authentication { auth_type PASS auth_pass 1111 } #需要绑定切换的VIP virtual_ipaddress { 192.168.200.16 192.168.200.17 192.168.200.18 } }

主服务器

 ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } #master默认只需要修改使用VIP即可 virtual_ipaddress { 192.168.17.200 } }

备服务器

 ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { #修改工作模式为备 state BACKUP interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } #注意修改VIP virtual_ipaddress { 192.168.17.200 } }

③分别按照顺序启动主服务器和备服务器的keepalived

 shell > service keepalived start

④查看主备服务器的网卡信息

 #需要通过ip a命令查看 分别在server01和server03查看 shell > ip a

2.4、模拟故障

模拟服务器故障宕机,查看是否可以切换服务到备用机器。

模拟宕机,关闭server01 master服务器,VIP自动切换到server03 backup服务器

 #抓包vrrp shell > yum -y install tcpdump shell > tcpdump vrrp -n

lvs服务器需要开启web服务么_Nginx+Keepalived实现web服务器高可用相关推荐

  1. ngnix+keepalived 实现N主高可用负载均衡web群集

    ngnix+keepalived 实现N主高可用负载均衡web群集 思路: 总结一下最近学习的nginx+keepalived 的负载均衡架构,发现linux的群集系统都是负载均衡层加服务器群组层,实 ...

  2. 请检查ftp文件服务器是否开启,查看服务器是否开启ftp服务

    查看服务器是否开启ftp服务 内容精选 换一换 已准备用于安装鲲鹏代码迁移工具的x86服务器或者基于鲲鹏916/920的服务器.已安装操作系统,操作系统版本要求请参见鲲鹏开发套件兼容性查询助手.已安装 ...

  3. LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用

    本文我们主要讲解的是LVS通过keepalived来实现负载均衡和高可用,而不是我们第三篇文章介绍的通过手动的方式来进行配置.通过脚本的方式来显示RS节点的健康检查和LVS的故障切换.此文会通过一个实 ...

  4. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  5. .Net Core微服务入门——Ocelot和Consul集群高可用

    .Net Core微服务入门--Ocelot和Consul集群高可用 上一章 我们ocelot网关顺利的接入了consul集群,并且访问成功. 但是,我们也遇到了问题,把 192.168.8.25 上 ...

  6. LVS+Keepalived实现负载均衡高可用

    使用脚本实现LVS负载均衡 环境: 3台主机 DS:192.168.100.1 RS1:192.168.100.11 RS2:192.168.100.12 VIP:192.168.100.100 安装 ...

  7. lvs服务器需要开启web服务么_如何检测 Web 服务请求丢失问题

    导读 『StabilityGuide』是阿里多位阿里技术工程师共同发起的稳定性领域的知识库开源项目,涵盖性能压测.故障演练.JVM.应用容器.服务框架.流量调度.监控.诊断等多个技术领域,以更结构化的 ...

  8. 开启redis服务后,无法远程连接服务器上的redis的问题解决办法(Connection refused: no further information)

    远程连接在服务器上的redis服务时,总是会报错Connection refused: no further information,通过一顿查资料后,我总结了一下几个解决步骤. 一. 首先现在阿里云 ...

  9. win8系统怎么开telnet服务器,怎么开启telnet服务 - 卡饭网

    Win7旗舰版无法使用远程登录如何开启telnet服务 Win7旗舰版无法使用远程登录如何开启telnet服务 Telnet协议是TCP/IP协议中的其中一个协议,是Internet远程登陆服务的标准 ...

最新文章

  1. 你真的知道怎么实现一个延迟队列吗 ?
  2. 将经过身份验证的用户注入Spring MVC @Controllers
  3. linux 按键驱动中断 rockchip_7.自己写中断方式按键驱动程序(详解)
  4. 腾讯、网易回应被约谈:严格落实未成年人防沉迷规定
  5. QOS 令牌桶实现代码1
  6. python : pandas库的后继者polars库
  7. 宗地图绘制要求和规范_宗地图绘制的基本要求与内容.ppt
  8. Visio2016绘制框图的基本操作方法
  9. 佩戴十字架项链有什么特殊含义?
  10. java实现敏感词汇判断
  11. 最简单的P2P加密聊天软件开发完成
  12. 华为android打开usb调试模式,华为P6 USB调试在哪 如何打开USB调试【详解】
  13. DNS与GTM协同工作原理
  14. 排队论----学习反馈
  15. 超好玩的css3-3d效果
  16. 容器云系列之容器技术相关概念介绍
  17. 朴树歌词分析--python爬虫
  18. 用HTML+CSS做一个漂亮简单大学生校园班级网页(web前端期末大作业)
  19. UE4编译错误:Unable to delete XXX
  20. 使用网上成熟的【MySqlBackup】组件,通过WEB网页操作,备份远程计算机中的数据库到C:\inetpub\wwwroot文件夹下,系统汇报错误(访问被拒绝),该如何解决呢?

热门文章

  1. 机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)
  2. 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_http_geo_module模块实录
  3. C++ STL: 分配器allocators 源码分析
  4. Linux下stat + 文件名后, Access,Modify,Change的含义
  5. 第一周Access课总结
  6. -bash:syntax error near unexpected token '('
  7. Spring+SpringMVC+shiro+mysql(一)
  8. Java基础知识强化之IO流笔记03:throws的方式处理异常
  9. 朴素高精度乘法的常数优化
  10. Perl时间处理函数