当前位置: 首页 > news >正文

2025.6.5学习日记 Nginx主目录文件 .conf介绍、热部署 定时日志切割

Nginx

主目录文件功能介绍

nginx.conf(唯一配置文件):

  • nginx.conf是由指令和指令块组成

  • 每一行语句由分号结束,指令和参数之间是有空格分离的

  • 指令块由大括号{}组织多条语句

  • nginx.conf使用#表示注释符

  • nginx.conf也支持$变量名命名语法

  • nginx支持include语句(引入其它文件的配置)进行组合多个配置文件 (必须以conf结尾)

  • shift+数字5 索引括号

netstat -tunlp:查看网络连接和端口监听信息

 

定义运行工作模式:

#keepalive:超时时间 (超时多久自动断开)

keepalive_timeout 60;

静态资源压缩功能:

Server块

 

nginx命令选项:

nginx-master信号传递:

1.master主进程是不处理请求的,而是分配请求发给worker进程,主进程负责重启,热加载,热部署等等
2.master是根据nginx.conf中worker_process定义启动时创建的工作进程数
3.当worker运行后,master就处于一个等待的状态,等待用户的请求来临,或者系统信号
4.系统管理员可以发送kill指令,或者nginx-s信号,这样的形式操控nginx 

nginx信号功能:

 

nginx.conf重要的指令块:

核心功能都在于http{}指令块里,http{}块还包含了以下指令:

  • server{}指令块,对应一个站点配置,反向代理,静态资源站点

  • location{},对应一个url

  • upstream{},定义上游服务,负载均衡池

nginx的热部署:

usr2信号:

平滑升级 Nginx 二进制文件:在不中断服务的情况下,将运行中的 Nginx 进程升级到新版本。

重新加载配置文件:与 HUP 信号不同,USR2 会保留旧版本进程,便于回滚。

WINCH信号:

平滑关闭工作进程:在升级或配置重载时,逐步关闭旧工作进程,避免中断现有连接。

不影响主进程:仅关闭工作进程,主进程继续运行。

场景 1:平滑升级 Nginx
# 1. 备份旧二进制文件和PID文件
cp /usr/sbin/nginx /usr/sbin/nginx.old
mv /var/run/nginx.pid /var/run/nginx.pid.oldbin
​
# 2. 替换新二进制文件
cp /path/to/new/nginx /usr/sbin/nginx
​
# 3. 发送USR2启动新主进程
kill -USR2 $(cat /var/run/nginx.pid.oldbin)
​
# 4. 确认新进程正常工作后,发送WINCH关闭旧工作进程
kill -WINCH $(cat /var/run/nginx.pid.oldbin)
​
# 5. 若升级失败,回滚到旧版本
kill -HUP $(cat /var/run/nginx.pid.oldbin)  # 恢复旧工作进程
kill -QUIT $(cat /var/run/nginx.pid)        # 关闭新主进程

场景 2:逐步重启工作进程(不升级)
# 1. 发送USR2创建新主进程(使用相同二进制文件)
kill -USR2 $(cat /var/run/nginx.pid)
​
# 2. 关闭旧工作进程
kill -WINCH $(cat /var/run/nginx.pid.oldbin)
​
# 3. 确认无误后,关闭旧主进程
kill -QUIT $(cat /var/run/nginx.pid.oldbin)

Nginx日志切割:

日志切割是线上很常见的操作,能够控制单个日志文件的大小,便于对日志进行管理

       6.把该脚本的执行,加入crontab 每天0点自动执行
       crontab -e #打开定时任务
       分 时 日 月 周 用绝对路径bin/bash解释器 运行脚本
       
       0 0 * * * /bin/bash /scripts/cut_nginx_log.sh
       

http://www.lqws.cn/news/186949.html

相关文章:

  • 实战设计模式之模板方法模式
  • Go 中的 Map 与字符处理指南
  • 如何使用Webhook触发器,在 ONLYOFFICE 协作空间构建智能工作流
  • C++中的概念(Concepts)
  • 自然语言处理的发展
  • 数字孪生恰似企业的“智能军师”,精准助力决策
  • 【python基础知识】 *args, **kwargs介绍
  • 一篇文章实现Android图片拼接并保存至相册
  • 深入了解linux系统—— 进程池
  • Redis哨兵模式
  • CSS 性能优化
  • 微信小程序动态效果实战指南:从悬浮云朵到丝滑列表加载
  • 密码学基础——SM4算法
  • spring重试机制
  • 一种全新的非对称加密算法
  • 从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
  • 金融系统渗透测试
  • 交易所系统攻坚:高并发撮合引擎与合规化金融架构设计
  • pe文件结构(TLS)
  • 字节推出统一多模态模型 BAGEL,GPT-4o 级的图像生成能力直接开源了!
  • Linux(线程控制)
  • python八股文算法:三数之和
  • 实践提炼,EtherNet/IP转PROFINET网关实现乳企数字化工厂增效
  • 正则持续学习呀
  • B站的视频怎么下载下来——Best Video下载器
  • Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
  • 2025年- H73-Lc181--22.括号生成(回溯,组合)--Java版
  • Git仓库的创建
  • 2025/6/6—halcon知识点总结
  • c++ set与multiset的介绍