nginx 挂了怎么办?

若依前端挂Nginx、打包部署运行!!!! 开发环境:在开发环境中,你通过配置的代理将/api的请求转发到目标后端服务。生产环境:你可以在 Nginx 中配置类似的代理规则,将前端请求代理到后端服务。前端部署打开前端项目的vue.config.js文件,检查devServer下的proxy代理部分,然后将下面这个端口修改为你要在打包后访问的端口,即使用nginx代理前的接口。这个端口默认是80端口,这里把其修改为不会冲突的70端口,不推荐使用80端口。因为80端口是默认端口在部署到服务器上和下面启动nginx可能存在占用等问题。 阅读详情

什么是高可用?

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。

解决的问题?

在生产环境上很多时候是以Nginx做反向代理对外提供服务,但是一天Nginx难免遇见故障,如:服务器宕机。当Nginx宕机那么所有对外提供的接口都将导致无法访问。虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用keepalived来实现Nginx的高可用。

双机热备方案

这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。keepalived是什么?Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件故障转移机制Keepalived高可用服务之间的故障切换转移,是通过VRRP 来实现的。在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。而当主 Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。

实现过程

准备工作192.168.16.128192.168.16.129两台虚拟机。安装好Nginx安装Nginx更新yum源文件:

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装Nginx:

yum -y install  nginx

操作命令:

systemctl start nginx; #启动Nginx
systemctl stop nginx; #停止Nginx

安装keepalivedyum方式直接安装即可,该方式会自动安装依赖:

yum -y install keepalived

修改主机(192.168.16.128)keepalived配置文件yum方式安装的会生产配置文件在/etc/keepalived下:

vi keepalived.conf
keepalived.conf:

#检测脚本


```java
vrrp_script chk_http_port {
    script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本,检测nginx是否启动
    interval 2                          #(检测脚本执行的间隔,单位是秒)
    weight 2                            #权重
}
#vrrp 实例定义部分
vrrp_instance VI_1 {
    state MASTER            # 指定keepalived的角色,MASTER为主,BACKUP为备
    interface ens33         # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡
    virtual_router_id 66    # 虚拟路由编号,主从要一直
    priority 100            # 优先级,数值越大,获取处理请求的优先级越高
    advert_int 1            # 检查间隔,默认为1s(vrrp组播周期秒数)
    #授权访问
    authentication {
        auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
        auth_pass 1111
    }
    track_script {
        chk_http_port            #(调用检测脚本)
    }
    virtual_ipaddress {
        192.168.16.130            # 定义虚拟ip(VIP),可多设,每行一个
    }
}

virtual_ipaddress 里面可以配置vip,在线上通过vip来访问服务。

interface` 需要根据服务器网卡进行设置通常查看方式 `ip addr
authentication配置授权访问后备机也需要相同配置修改备机(192.168.16.129)keepalived配置文件

keepalived.conf:

```java
#检测脚本
vrrp_script chk_http_port {
    script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本,检测nginx是否启动
    interval 2                          #(检测脚本执行的间隔)
    weight 2                            #权重
}
#vrrp 实例定义部分
vrrp_instance VI_1 {
    state BACKUP                        # 指定keepalived的角色,MASTER为主,BACKUP为备
    interface ens33                      # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡
    virtual_router_id 66                # 虚拟路由编号,主从要一直
    priority 99                         # 优先级,数值越大,获取处理请求的优先级越高
    advert_int 1                        # 检查间隔,默认为1s(vrrp组播周期秒数)
    #授权访问
    authentication {
        auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
        auth_pass 1111
    }
    track_script {
        chk_http_port                   #(调用检测脚本)
    }
    virtual_ipaddress {
        192.168.16.130                   # 定义虚拟ip(VIP),可多设,每行一个
    }
}
检测脚本:

#!/bin/bash
#检测nginx是否启动了
A=`ps -C nginx --no-header |wc -l`        
if [ $A -eq 0 ];then    #如果nginx没有启动就启动nginx                        
      systemctl start nginx                #重启nginx
      if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则停掉keepalived服务,进行VIP转移
              killall keepalived                    
      fi
fi

脚本授权:chmod 775 check_nginx_pid.sh说明:脚本必须通过授权,不然没权限访问啊,在这里我们两条服务器执行、VIP(virtual_ipaddress:192.168.16.130),我们在生产环境是直接通过vip来访问服务。模拟nginx故障:修改两个服务器默认访问的Nginx的html页面作为区别。首先访问192.168.16.130,通过vip进行访问,页面显示192.168.16.128;说明当前是主服务器提供的服务。这个时候192.168.16.128主服务器执行命令:

systemctl stop nginx; #停止nginx
再次访问vip(192.168.16.130)发现这个时候页面显示的还是:192.168.16.128,这是脚本里面自动重启。现在直接将192.168.16.128服务器关闭,在此访问vip(192.168.16.130)现在发现页面显示192.168.16.129,这个时候keepalived就自动故障转移了,一套企业级生产环境的高可用方案就搭建好了。keepalived中还有许多功能比如:邮箱提醒啊等等,就不操作了,可以去官网看看文档。

STM32 IAP+APP合并Hex文件全自动脚本(Keil5一键生成) 本文详细介绍了一种基于Keil5开发环境的STM32 IAP与APP程序Hex文件全自动合并方案。通过编写批处理或Python脚本,并将其集成到Keil的编译后流程中,实现一键编译、自动合并,彻底解决手动操作繁琐易错的问题,极大提升STM32固件开发与远程升级的效率。 阅读详情

相关推荐

游戏安全逆向实战:如何用010Editor绕过ACE反作弊的文件校验(附详细步骤)

本文详细介绍了如何通过逆向工程思维和010Editor工具,针对PC游戏中ACE反作弊系统的文件校验机制进行分析与绕过。文章以实战案例为核心,逐步拆解了定位校验逻辑、解析校验数据文件、计算并替换哈希值的关键步骤,为安全研究人员提供了一种在用户态(Ring 3)层面进行轻量化对抗的思路与方法。

iii12的专栏 727

Nginx 挂了怎么办?怎么实现高可用?

Hi,很高兴认识你~世界很大,巧妙的是我们在这里相遇。欢迎关注天宇文创意乐派,一个职场人的聚集地。作者 | SimpleWu来源 | www.cnblogs.com/SimpleWu/p/11004902.html什么是高可用?高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。解决的问题?

tuonioooo 2257

DDR4/LPDDR4与DDR5/LPDDR5的差别

最新的 DDR5 可支持单一芯片容量 64Gbit,最高容量上限可增加到 128GB,较 DDR4 提高了四倍;价格:随着规格提升,DDR5 价格也较 DDR4 高出逾 50%,可能成为业者导入的阻碍。但如前所述,包括 5G、机器学习(ML)等各式进阶应用中,DDR5 的整体效能、规格的提升,对相关业者来说仍具一定优势与吸引力。电源管理 IC(PMIC IC):电源管理芯片内建至 DDR5 内存中,除可提高讯号完整性及噪声辨识能力,还能更具效率与扩展性;DDR5 规格与效能整理。(来源:JEDEC)

flomingo1的专栏 9018

nginx可以负载均衡多个tomcat,nginx主机挂了怎么办?Keepalived

  介绍一下keepalived:   这里如果我们的机器192.168.200.129 出现故障了呢? 那么怎么使用192.168.200.130上的Nginx进行转发呢? 怎么设置主机和备机呢? 如果主机死了怎么进行故障移除呢? 如果主机从不可用到可用状态又怎么进行恢复添加呢? 这些功能都是可以通过Keepalived来进行设置的.      首先Keepalived可以在主机上产生一个虚拟的ip, 这里叫做vip(v是virtual的意思):192.168.200.150, keepal..

wubaohu1314的博客 1593

【MCU开发规范】:车载MCU开发规范

车载MCU开发规范

1049

MLC-LLM框架在安卓设备上的模型编译与部署全流程解析

本文详细解析了如何利用MLC-LLM框架在安卓设备上编译与部署大语言模型。从环境搭建、模型获取与量化编译,到最终的安卓应用打包与调试,提供了完整的实战流程。重点介绍了如何通过MLC-LLM将大型模型优化为适合移动端运行的格式,实现本地、低延迟、隐私安全的AI应用部署。

weixin_29251337的博客 475

nginx服务挂了怎么解决?

ps -ef|grep nginx/usr/local/nginx/sbin./nginx -s reload

litang140513的博客 670

6.5 构网型储能系统的协同控制策略

本文系统阐述了构网型储能系统的协同控制策略,重点分析了多机组群协同运行面临的功率分配不均、动态响应失配等挑战。研究提出了改进型下垂控制与虚拟阻抗法、基于一致性算法的分布式协同控制等解决方案,探讨了构网型储能与同步发电机在惯性响应、一次调频等方面的协同机制,以及与跟网型电源在电压支撑、阻抗重塑等方面的互补作用。文章构建了分层控制架构,为实现多类型电源的全局优化运行提供了技术路径,对提升高比例新能源电力系统的稳定性具有重要意义。

技术工作者 1002

keepalived 解决入口机器(Nginx)挂掉的问题

keepalived 解决最前端 Nginx 挂掉的问题问题来源LVS 解决思路keepalived 配置 LVS 过程主机配置从机配置检验 keepalived 的 LVS 效果keepalived 监控 Nginx主机配置从机配置充分利用从机 问题来源 我们有很多 Tomcat服务器交由 Nginx 管理,可 Nginx 所在的这台机器挂了怎么办? 你可能会想到再来 2 台 Nginx 机器...

日有寸进 3655

DDD系列 - 第12讲 如何在DDD中实现Query服务(轻量化CQRS)

轻量化CQRS、整合Repository和DAO的优势。

罗小爬的技术宝书 266

【ArcGIS风暴】Win10操作系统ArcGIS许可License无法启动的解决方法汇总(绝对成功!)

文章目录1. 关闭Windows Defender2. 关闭系统防火墙3. 删除迈克菲(McAfee)杀毒软件4. 在系统服务中启动 在安装ArcGIS软件时,最重要的一步是许可服务的正常启动,通常,由于各种各样的原因,ArcGIS许可管理器License Manager十有八九会无法启动,点N多次都没反应,如果许可服务不能如愿启动的话,即使Desktop安装成功,也是无法打开的。本文汇总了Win10操作系统之上ArcGIS安装过程中可能会导致服务无法启动的原因及解决办法。 ArcGIS安装参考教程:

智慧空间实验室 2万+

Nginx——nginx作为负载均衡服务(backup状态和down状态示例)

目录一、lz虚拟机说明二、配置192.168.3.11虚拟机(即模拟三台虚拟机应用服务器)三、配置192.168.3.10虚拟机(即代理服务器) 一、lz虚拟机说明 ip 说明 192.168.3.10(已安装nginx) 此虚拟机作为代理服务器 192.168.3.11(已安装nginx) 此虚拟机通过nginx配置三个端口访问三个不同的页面(模拟三台虚拟机应用) 二、配置192.168.3.11虚拟机(即模拟三台虚拟机应用服务器) 1、分别在/opt/app/code1、code

小志的博客 6930

A算法的蒙特卡洛树搜索

A*算法的蒙特卡洛树搜索 作者:禅与计算机程序设计艺术 1. 背景介绍 在人工智能和游戏开发领域,搜索算法是一个非常重要的研究方向。其中A算法和蒙特卡洛树搜索是两种广泛应用的经典算法。A算法是一种启发式搜索算法,通过评估各个节点到目标节点的启发式代价来引导搜索方向,在

AI天才研究院 1735

docker启动nginx后挂了_docker——nginx运行起不来或者说起来了又挂了

记得刚开始玩docker的时候,想着docker上运行一个nginx代理,于是写了个Dockerfile:FROM nginx:latestWORKDIR .COPY demo.conf /etc/nginx/conf.d/demo.confEXPOSE 80CMD [ "nginx" ]然后docker build生成,docker run运行,发现怎么都起不来,或者说起来了又挂了,到/var/...

weixin_39898550的博客 1415

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Nginx 挂了

在生产环境上很多时候是以Nginx做反向代理对外提供服务,但是一天Nginx难免遇见故障,如:服务器宕机。当Nginx宕机那么所有对外提供的接口都将导致无法访问。 虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用keepalived来实现Nginx的高可用。 什么是高可用? 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但

qq_42499737的博客 2243

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

nginx挂了怎么办

1.什么是502 bad gateway 报错:   简单来说 502 是报错类型代码 bad gateway 错误的网关。 2.产生错误的原因:   连接超时 我们向服务器发送请求 由于服务器当前连接太多,导致服务器方面无法给于正常的响应,产生此类报错 依次排查:nginx access log, nginx error log, linux os log 转载于:h...

weixin_30858241的博客 4045

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Nginx 挂了!

在生产环境上很多时候是以Nginx做反向代理对外提供服务,但是一天Nginx难免遇见故障,如:服务器宕机。当Nginx宕机那么所有对外提供的接口都将导致无法访问。虽然我们无法保证服务器百分...

公众号:Java后端 232

【nginx】挂系统维护页面

一、域名IP下所有请求都跳转到维护页面 /配置如下: location / {             root /var/local/xahtml/;#指定文件目录             index  index.html;#实际文件目录/var/local/xahtml/index.html  } 输入域名或者IP访问时,会跳转到index.html。 输入/aaa等会报错404,...

嘻嘻哈哈 2573

Nginx挂维护页面

当我们要维护网站的时候,用户访问网站的时候,我们希望给用户显示一个维护的页面,下面就是使用nginx,给访问网站的用户返回一个页面。 server { server_name borrow.xxxx.com; ##访问的域名 location / { root /data/upgradeWeb/;##文件根路径 in...

ystyaoshengting的专栏 3597

nginx挂维护页面

本篇文章摘抄于他人的文章,来自于优快云的JeremyIT同学,但我还是自己重新敲一遍。 实现的效果是:访问网站的任何页面,都跳转到同一个页面。而这一个页面就是维护页面,可以根据需要修改。 server { listen 80; index index.html index.htm; server_name www.example.com; if (...

weixin_34113237的博客 721

docker启动nginx后挂了_docker中启动nginx

1.查看已有的 nginx 镜像docker images nginx2.下载 nginx 镜像docker pull nginx3.运行 nginx(记得打开相应的端口)docker run --name nginx_dev -p 80:80 -d nginx4.查看是否启动5.使用浏览器打开测试访问 nginx6.创建 docker nginx 挂载目录mkdir -p /home/docke...

weixin_42620913的博客 129

【nginx监测_挂了自动重启】

相信大家都遇到这种问题:nginx莫名其妙挂掉了,导致网站等都访问不了。

爱码社长,从拧螺丝到造火箭,一步步带你飞 744
上一篇: 分布式选举算法总结
下一篇: 算法笔记-lc-面试题 01.02. 判定是否互为字符重排(简单)
Hell_potato777
博客等级 码龄6年 47粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值