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中还有许多功能比如:邮箱提醒啊等等,就不操作了,可以去官网看看文档。

YOLOv11改进 | 注意力篇 | YOLOv11引入24年ECCV的自调制特征聚合注意力模块(SMFA),并构建C2PSA_SMFA 1.SMFA介绍1.1 摘要:基于Transformer的图像复原方法由于Transformer的自注意(self-attention,SA)特性能够更好地挖掘非局部信息,从而获得更好的高分辨率图像重建效果,因此具有重要的应用价值。然而,关键点积SA需要大量的计算资源,这限制了其在低功耗器件中的应用。此外,模拟退火机制的低通特性限制了其捕获局部细节的能力,从而导致平滑的重建结果。 阅读详情

相关推荐

计算机网络期末复习提纲(全知识点总结)

计算机网络期末复习提纲全知识点总结第一章 概述1.基本概念- 链路,结点,协议和服务,实体和对等实体,各层PDU- C/S模式,B/S模式,P2P模式- LAN,WAN,MAN,PAN的划分- 网络性能参数:速率,带宽,吞吐量,时延,往返时间,信道利用率2.互联网的组成(边缘部分与核心部分的作用)3.电路交换与分组交换,数据报交换和虚电路交换的特点4.TCP/IP体系结构,数据的封装与解封装第二章 物理层1.信号编码:不归零编码,曼切斯特编码2.影响信号失真程度的因素3.传输介质:双绞线,同轴电缆,光纤(单

mcyuuji的博客 8万+

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

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

tuonioooo 2257

PL端:HDMI 输出实验

开发板没有HDMI编码芯片,是将FPGA的3.3差分IO直接连接到HDMI连接器,FPGA 完成 24 位 RGB 编码输出TMDS 差分信号。1、学会使用第三点IP核,首先是添加,后面的使用和自带IP核操作一致。2、主要还是在梳理vivado使用流程。

qq_43441284的博客 4287

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

彻底禁用有道云笔记自动更新:手动修改配置文件的终极方案

本文详细介绍了如何通过修改配置文件彻底禁用有道云笔记的自动更新功能,解决v7.2.8版本的兼容性问题。通过定位并修改`app-update.yml`文件,用户可以一劳永逸地阻止强制更新,保持稳定的v7.2.7版本。文章还提供了常见问题排查和进阶防护措施,确保操作的有效性和安全性。

weixin_29258297的博客 463

基于C++和Basler SDK的相机开发详解

Basler相机是德国Basler公司生产的高性能工业相机,具有高分辨率、高帧率和低噪声的特点。Basler相机广泛应用于机器视觉、工业自动化、医疗影像和安防监控等领域。高分辨率和高帧率:能够捕捉清晰、细腻的图像。多种接口:支持USB、GigE、Camera Link等多种接口,方便不同应用场景的需求。丰富的配置选项:支持多种图像格式、分辨率和帧率的配置,适应不同的应用需求。本文详细介绍了如何基于C++和Basler SDK进行相机开发,涵盖了从环境搭建、相机连接、图像采集到图像处理的完整过程。

qq_38334677的博客 2099

nginx服务挂了怎么解决?

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

litang140513的博客 670

Power domain 划分该如何下手

假如PD1比PD3更always on的话,我们只需要插入普通buffer即可,因为PD3 on,PD1也肯定是ON,PD1 off,PD3肯定时off,PD1能cover PD3的电源情况,因此使用普通buffer也可,但是处于省电角度,我们还是使用AO buffer;在我们做多power domain时,在切分power domain时,需要谨慎,稍有不慎,就会出现congestion以及timing问题,那问题来了,我们在切分power domain时有什么考究么,今天小编就和大家一起讨论讨论。

芯冰乐 207

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

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

日有寸进 3655

Autosar PNC网络管理配置-UserData的使用

之前配置的网络管理报文中的data都由ComM管理,后面客户新增了需求,最后两个byte需要发送,本文记录一下相关配置的修改能配置生成的,尽量不手码,毕竟手写一堆bug~

赞的博客 1906

点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准

口扫生成的三维牙模型只包含牙冠结构,容易受到唾液、食物残留等杂质的干扰。像精度,但其扫描成本较高,在公立医院的普及率较低。此外,口扫探入式的体。完整、精确的牙齿信息,有助于医生更好地进行数字化辅助诊疗,提高手术的预。可以表示上颌骨、下颌骨、牙冠以及牙根的位置和形状,但其扫描分辨率较低,精配准前实现粗略的预配准来确定点云间的初始位置,为精配准提供良好的配准。该算法通过计算点对间的距离确定源点云中的某一点在目标点云中的对应。算两点之间的欧氏距离,运算量较大,而且由于算法只考虑点集间的距离而忽略。

getusushu的博客 1640

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Nginx 挂了

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

qq_42499737的博客 2243

nginx挂了怎么办

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

weixin_30858241的博客 4045

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、付费专栏及课程。

余额充值