当前位置: 首页 > 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
       

相关文章:

  • MySQL基础(二)SQL语言、客户端工具
  • python中的经典视觉模块:OpenCV(cv2)全面解析
  • 数学复习笔记 28
  • 代理服务器-LVS的3种模式与调度算法
  • c++ set与multiset的介绍
  • 【计算机网络】非阻塞IO——poll实现多路转接
  • Go垃圾回收参数调优:实现低延迟服务的实战指南
  • usb工业广焦摄像头怎么调焦
  • keil编译工程,结合map文件和bin文件,实测C语言中不同类型的变量存储在不同的内存区域
  • 【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载
  • 从零开始基于Ubuntu18搭建Gazebo地图仿真环境
  • Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)
  • D3.js与vue3力导向图开发全流程
  • N8N概述
  • 【Linux】(1)—进程概念-⑤进程调度
  • 和芯 SL6341 (内置FLASH) 国产USB 3.0HUB芯片 替代 GL3510 VL817
  • Linux 中替换文件中的某个字符串
  • Kafka 快速上手:安装部署与 HelloWorld 实践(二)
  • Unity 中的颜色空间
  • 【公益护航青春路】 “成长的秘密花园”青春期身心成长讲座走进校园
  • 北京网站建设方案/如何写营销软文
  • 公司网站建设考核/环球网今日疫情消息
  • 中国企业网站建设外包服务市场/seo综合查询网站源码
  • 正规的家居行业网站开发/高端网站建设报价
  • 科技企业网站/微信推广朋友圈广告
  • 汉中专业做网站/互联网全网推广