上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署.切割日志文件场景来熟悉 Nginx 命令行操作. 推荐阅读:Nginx 了解一下? Nginx 命令行 格式:nginx -s stop 帮助:-? -h 使用指定的配置文件:-c 指定配置指令:-g (用途是覆盖配置文件中的指令) 指定运行目录:-p 发送信号:-s(立刻停止服务:stop,优雅的停止服务:qu…
重载配置文件 nginx -s reload 热部署(升级nginx) 首先备份二进制文件 cp nginx nginx.old  拷贝新版本的nginx替换以前的nginx二进制文件 cp  nginx新 nginx.发送信号 kill -USR2 nginx master旧进程pid 启动新的master进程 这个时候旧master和worker进程不在监听服务,新的连接会进去新的nginx进程中, kill -WINCH master旧进程 实现旧worker优雅的退出. 这时,可以看到旧…
今天我们来学习 nginx 的 重载.热部署.日志分割功能 重载:当我们需要修改配置文件中的一些值,我们可以直接修改该配置文件,然后重新启动 nginx 服务,就可以实现在 nginx 不停止服务的情况下,使用了我们最新修改过的配置文件. 重载example: step1: # 打开配置文件,设置配置文件中的 tcp_nopush 选项为开启,然后保存退出 $ vim conf/nginx_conf step2: 重新启动 nginx 服务,此时 nginx 服务就可以使用新的配置文件了 $ s…
1.重载 修改nginx配置文件之后,在不影响服务的前提下想加载最新的配置,就可以重载配置即可. 操作如下: 1)修改nginx配置文件 2)nginx -t     检查nginx文件语法是否有误 3)nginx -s reload    重载nginx配置 2.热部署(升级nginx版本) 比如我把版本冲nginx1.14-2升级到nginx1.16.1: 我之前nginx安装目录为:/data/geek/nginx目录 操作如下: 注意:千万不要make insatll 否则会把二进制执行…
现有的日志都会存在 access.log 文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把这个大的日志文件切割为多份不同的小文件作为日志,切割规则可以以天为单位,如果每天有几百G或者几个T的日志的话,则可以按需以每半天或者每小时对日志切割一下. 手动切割 1.创建一个shell可执行文件:cut_my_log.sh,内容为: #!/bin/bash LOG_PATH="/var/log/nginx/" RECORD_TIME=…
写在前面的话 上一节我们谈了关于 nginx 服务器的一些简单的安全优化问题,能够帮助我们解决一部分线上服务存在的安全隐患.但是想要提升用户体验这是原因不够的,我们还需要从服务的优化方面入手. 本节更多的还是偏理论的东西,会给出相应的配置.可能有些就无法立即做测试. 访问优化:静态压缩 我们知道一个网站总会有一些 CSS/JS 等静态文件需要加载,如果用户每次请求都需要去服务器下载一遍,比如 Jquery 这种根本不会变的.明显会造成带宽的浪费.同时由于用户可能本身网速还不好,就容易给用户带来不…
随着网站的运行时间越来越长,日志文件也会随之越来越大需要对Nginx日志进行切割,下面是每周六晚上自动进行日志切割的shell脚本 脚本如下: [root@jrjs ~]# vim /usr/local/nginx/logbak.sh   #新建脚本名为logbak.sh#!/bin/bash #解释器date=`date +%Y%m%d`    #自定义date变量,值等于当前日期logpath=/usr/local/nginx/logs #自定义logpath变量,值等于Nginx日志所在路…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一 . SpringBoot环境下的视图解析技术 1. JSP JSP 是我们常用的视图技术了,但是SpringBoot官方并不推荐使用.因为SpringBoot框架一般是打包为Jar运行,而JSP在web工程(War包)中可以被java程序读取和识别,但是在jar包中是比较困难的.所以需要采用其他的模板视图技术. 但我们还是简单的看一下它的使用方法: 主启动器 @SpringBootApplicat…
L10 进入nginx里的sbin目录 拷贝原先的做备份 cp nginx nginx.old 然后将已经编译好的nginx二进制文件复制到sbin目录下并覆盖原有的二进制文件 kill -USR2 Nginx里master主进程号 kill -WINCH 老的master进程号 让对做优雅的关闭…
Nginx本身并不支持日志切割,那么就会造成日志非常的大,为了解决这个问题我们用到了windows的计划任务和dos命令.具体思路: 1.写一个dos文件,通过windows的计划任务定时执行(每天执行一次) 2.dos命令里面将根据日期来移动文件 3.移动前停止nginx,移动成功后启动nginx dos命令如下: @echo off cd D:\Program Files\nginx- taskkill /F /IM nginx.exe > nul rem date格式:Wed // ,%-…