前言

简单演示热部署和日志切割。

正文

什么是热部署了,我们前文也说过了一个编译后的nginx 二进制。

热部署就是无需停止现有的nginx,替换正在运行的nginx。

步骤:

  1. 复制nginx 二进制替换掉原先的nginx文件。

  2. kill -USR2 13195 给nginx 发送信号

这里出现了另外一个master。

3.发送WINCH信号给旧的master进程,让旧的master进程优雅的退出

kill -WINCH cat /opt/nginx/logs/nginx.pid.oldbin

退出woker。

4.此时如果觉得nginx服务一切正常,就可以干掉旧的master主进程了

kill -9 cat /opt/nginx/logs/nginx.pid.oldbin

退出master

  1. 如果替换有问题呢?那么怎么办?

    nginx 回滚:
cp nginx.old nginx

打开旧的worker进程号:

kill -HUP 4810
``
其中 pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。 关闭新的worker:

kill -WINCH 16940


下面介绍一下nginx 的日志切割。

LOGS_PATH = /usr/local/optnresty/nginx/logs/histoty

CUR_LOGS_PATH = /usr/local/openresty/nginx/logs

YESTEDAY = $(date -d "yesterday" +%Y-%m-%d)

mv ${CUR_LOGS_PATH }/xxx_access.log ${LOGS_PATH }/xxx_access_${YESTEDAY}.log

mv ${CUR_LOGS_PATH }/xxx_error.log ${LOGS_PATH }/xxx_error_${YESTEDAY}.log

kill -USR1 $(cat /usr/local/openresty/nginx/logs/nginx.pid)


这样就可以了,其实后面那个就是nginx -s reopen,从新打开日志。 然后把这个cron 定时任务,比如每天0:00,这样就可以了。 ### 结 下一节静态服务和反向代理。

nginx重新整理——————热部署和日志切割[三]的更多相关文章

  1. Nginx 热部署和日志切割,你学会了吗?

    上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署.切割日志文件场 ...

  2. nginx命令行及演示:重载、热部署、日志切割

    重载配置文件 nginx -s reload 热部署(升级nginx) 首先备份二进制文件 cp nginx nginx.old  拷贝新版本的nginx替换以前的nginx二进制文件 cp  ngi ...

  3. Nginx系列p2:重载,热部署,日志分割

    今天我们来学习 nginx 的 重载.热部署.日志分割功能 重载:当我们需要修改配置文件中的一些值,我们可以直接修改该配置文件,然后重新启动 nginx 服务,就可以实现在 nginx 不停止服务的情 ...

  4. nginx学习笔记(四)-----日志切割脚本及定时任务

    一.日志切割脚本 #!/bin/sh #nginx目录 BASE_DIR=/usr/local/nginx #生成的日志 BASE_FILE_NAME=jonychen.access.log CURR ...

  5. SpringBoot 之 视图解析与模板引擎、 热部署、日志配置(四)

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一 . SpringBoot环境下的视图解析技术 1. JSP JSP 是我们常用的视图技术了,但是Sp ...

  6. MongoDB 日志切割三种方式

    MongoDB 日志切割 ​ MongoDB 默认是不会进行切割日志的,除非我们配置了 logRotate = rename,并且重启 MongoDB 服务,才会进行切割日志的,那么为了避免实际中我们 ...

  7. nginx原声方法按照每天日志切割保存

    首先配置日志变量,然后配置日志 在/etc/nginx/conf.d/default.conf 配置变量 server{ if ($time_iso8601 ~ "^(\d{4})-(\d{ ...

  8. IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(三)

    pom.xml中repositories.pluginRepository的作用 pom.xml中repositories标签的作用是: 用来配置maven项目的远程仓库.示例如下: <repo ...

  9. Nginx热部署 平滑升级 日志切割

    1.重载 修改nginx配置文件之后,在不影响服务的前提下想加载最新的配置,就可以重载配置即可. 操作如下: 1)修改nginx配置文件 2)nginx -t     检查nginx文件语法是否有误 ...

  10. 持续集成环境--Tomcat热部署导致线程泄漏

    一.问题由来 我们组用jenkins部署了持续集成环境,(jenkins部署war包到远程服务器的tomcat). 每次提交了代码,jenkins上一键构建,就可以自动拉取最新代码,打war包,热部署 ...

随机推荐

  1. C++ //类模板成员函数类外实现

    1 #include <iostream> 2 #include <string> 3 #include<fstream> 4 using namespace st ...

  2. 5、mysql优化--索引使用情况、索引的结构

    避免索引失效 1). 全值匹配 ,对索引中所有列都指定具体值. 2). 最左前缀法则 如果索引了多列,要遵守最左前缀法则.指的是查询从索引的最左前列开始,并且不跳过索引中的列. 3). 范围查询右边的 ...

  3. Mysql导出导入操作

    安装mysql客户端 # 在终端上下载mysql源 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm ...

  4. YUV亮度扫描小工具,如何确定尺寸以及错误尺寸下图像发生什么变化

    地址https://github.com/bbqz007/zhelper-wxWidgets 当你有一个帧yuv,但却不知道长宽还有格式时,本demo可以帮你通过扫描Y分量灰度图,确定长宽,然后选择合 ...

  5. windows通过cmd重启网卡

    ipconfig/release ipconfig/renew

  6. python基础笔记((1)

    逻辑与或非用的是and or not. 除法即使整除结果也是浮点数 地板除//结果一定是整数. 内存中的字符串是Unicode编码,str.encode('utf-8 or ascii')将class ...

  7. 开发一个本地的供需求平台软件小程序单靠广告费就能月入3w+,你觉得香不香!

    最近合作了一个客户,需求是把现成的这种网站包装成App,在各大应用商店也能下载,做用户留存. 需求不复杂,现在已经完工了.事后处于好奇我又分析了一下这个项目的商业模式发现还挺好的,看前台数据基本上已经 ...

  8. 《Go程序设计语言》学习笔记之slice

    <Go程序设计语言>学习笔记之slice 一. 环境 Centos8.5, go1.17.5 linux/amd64 二. 概念 1) slice 表示一个拥有相同类型元素的可变长度的序列 ...

  9. js判断对象数组等是否为空

    //是否为空 /** * null undefined NaN false " " {} [] 为空 * 为空 true 不为空 false * @param {*} value ...

  10. 在 M1 下搭建 DolphinScheduler 开发调试环境

    Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用 M1 ...