• Windows服务启动nginx,并按日期切割日志_验证OK


    https://www.ucloud.cn/yun/39345.html

    https://blog.csdn.net/lanwangxia/article/details/106903174

    http://t.zoukankan.com/xiaoxiangpaou-p-15549776.html

    ---------------------------------------------------------------------------------

    @rem 关闭脚本的每行输出
    @echo off
    @rem 获取当前时间
    set ToDay=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

    @rem 关闭nginx
    @rem net stop nginx
    @rem 重命名日志文件
    move F:\nginx-1.11.10\logs\access.log F:\nginx-1.11.10\logs\access_%ToDay%.log

    move F:\nginx-1.11.10\logs\access.log F:\nginx-1.11.10\logs\error_%ToDay%.log

    @rem 启动nginx
    @rem net start nginx
    @rem 重新打开nginx日志文件
    F:\nginx-1.11.10\nginx.exe -s reopen

    ------------------------------------------------------------------------------------------------

    二、编写脚本

    @rem 关闭脚本的每行输出
    @echo off
    @rem 获取当前时间
    set ToDay=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
    
    @rem 关闭nginx
    @rem net stop nginx
    @rem 重命名日志文件
    move C:\nginx-1.11.3\logs\access.log C:\nginx-1.11.3\logs\%ToDay%_access.log
    
    @rem 启动nginx
    @rem net start nginx
    @rem 重新打开nginx日志文件
    @rem C:\nginx-1.11.3\nginx.exe -s reopen
    
    @rem 重新启动nginx
    @rem C:\nginx-1.11.3\nginx.exe -s reload
    @rem 重新启动nginx
    C:\nginx-1.11.3\nginx.exe -p C:\nginx-1.11.3\ -s reload
    @rem 等待用户输入任意内容
    
    三、定时启动脚本

    计算机--管理--系统工具--计划任务程序 中定制计划任务。

    1、另行指定配置文件的启动方式

    nginx -c tmpnginx.conf,这时,会读取-c参数后指定的nginx.conf配置文件来启动Nginx。

    2、另行指定安装目录的启动方式

    nginx -p /usr/local/nginx/ 使用-p参数指定Nginx的安装目录

    3、另行指定全局配置项的启动方式

    nignx -g "pid var/nginx/test.pid;" 可以通过-g参数临时指定一些全局配置项,以使新的配置项生效。

    上面这行命令意味着会把pid文件写到var/nginx/test.pid中。

    -g参数的约束条件是指定的配置项不能与默认路径下的nginx.conf中的配置项相冲突,否 则无法启动。

    另一个约束条件是,以-g方式启动的Nginx服务执行其他命令行时,需要把-g参数也带 上,否则可能出现配置项不匹配的情形。

    4、测试配置信息是否有错误

    nginx -t

    5、显示版本信息

    nginx -v

    6、显示编译阶段的参数

    nginx -V

    nginx的信号


    7、快速地停止服务

    nginx -s stop

    使用-s stop可以强制停止Nginx服务。-s参数其实是告诉Nginx程序向正在运行的Nginx服 务发送信号量,Nginx程序通过nginx.pid文件中得到master进程的进程ID,再向运行中的 master进程发送TERM信号来快速地关闭Nginx服务。

    实际上,如果通过kill命令直接向nginx master进程发送TERM或者INT信号,效果是一样 的。

    然后直接通过kill命令来发送信号:

    kill -s SIGTERM 10800 或 kill -s SIGINT 10800

    8、优雅地停止服务

    如果希望Nginx服务可以正常地处理完当前所有请求再停止服务,那么可以使用-s quit参 数来停止服务。

    nginx -s quit

    该命令与快速停止Nginx服务是有区别的。当快速停止服务时,worker进程与master进程 在收到信号后会立刻跳出循环,退出进程。而“优雅”地停止服务时,首先会关闭监听端口, 停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。

    与快速停止服务相似,可以直接发送QUIT信号给master进程来停止服务,其效果与执 行-s quit命令是一样的。

    kill -s SIGQUIT <nginx master pid>

    如果希望“优雅”地停止某个worker进程,那么可以通过向该进程发送WINCH信号来停止 服务。

    kill -s SIGWINCH <nginx worker pid>

    9、使运行中的Nginx重读配置项并生效

    使用-s reload参数可以使运行中的Nginx服务重新加载nginx.conf文件。

    nginx -s reload

    事实上,Nginx会先检查新的配置项是否有误,如果全部正确就以“优雅”的方式关闭, 再重新启动Nginx来实现这个目的。类似的,-s是发送信号,仍然可以用kill命令发送HUP信 号来达到相同的效果。

    kill -s SIGHUP <nginx master pid>

    10、日志文件回滚

    使用-s reopen参数可以重新打开日志文件,这样可以先把当前日志文件改名或转移到其 他目录中进行备份,再重新打开时就会生成新的日志文件。这个功能使得日志文件不至于过 大。

    nginx -s reopen

    当然,这与使用kill命令发送USR1信号效果相同。

    kill -s SIGUSR1 <nginx master pid>

    11、平滑升级Nginx

    当Nginx服务升级到新的版本时,必须要将旧的二进制文件Nginx替换掉,通常情况下这

    是需要重启服务的,但Nginx支持不重启服务来完成新版本的平滑升级。 升级时包括以下步骤:

    1)通知正在运行的旧版本Nginx准备升级。通过向master进程发送USR2信号可达到目的。

    kill -s SIGUSR2 <nginx master pid>

    这时,运行中的Nginx会将pid文件重命名,如将usrlocal/nginx/logs/nginx.pid重命名 为usrlocal/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。

    2)启动新版本的Nginx,可以使用以上介绍过的任意一种启动方法。这时通过ps命令可 以发现新旧版本的Nginx在同时运行。

    3)通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的 Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕。
    ————————————————
    版权声明:本文为CSDN博主「wiscourper_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lanwangxia/article/details/106903174

  • 相关阅读:
    O2O、B2B、C2C(通俗讲解)
    前端 $.parseJson()
    django反向解析传参
    从url(地址栏)获取参数:Jquery中getUrlParam()方法的使用
    Django:前后端分离后联调给前端传数据
    xpath 中 [<Element a at 3985984dj343>]
    sumafan:python爬虫多线程爬取数据小练习(附答案)
    window安装mysql(详细步骤)
    sqlserver从xlsx读取数据
    第一个kotlin程序
  • 原文地址:https://www.cnblogs.com/zhoading/p/16359693.html
Copyright © 2020-2023  润新知