上篇文章,我们已经安装好 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…
一.日志切割脚本 #!/bin/sh #nginx目录 BASE_DIR=/usr/local/nginx #生成的日志 BASE_FILE_NAME=jonychen.access.log CURRENT_PATH=$BASE_DIR/logs BAK_PATH=$BASE_DIR/datalogs CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M` BAK_FILE=…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一 . SpringBoot环境下的视图解析技术 1. JSP JSP 是我们常用的视图技术了,但是SpringBoot官方并不推荐使用.因为SpringBoot框架一般是打包为Jar运行,而JSP在web工程(War包)中可以被java程序读取和识别,但是在jar包中是比较困难的.所以需要采用其他的模板视图技术. 但我们还是简单的看一下它的使用方法: 主启动器 @SpringBootApplicat…
MongoDB 日志切割 ​ MongoDB 默认是不会进行切割日志的,除非我们配置了 logRotate = rename,并且重启 MongoDB 服务,才会进行切割日志的,那么为了避免实际中我们一个日志文件过大,我们需要对日志进行切割,有两个办法: 1. 通过 MongoDB 管理命令进行切割 使用该命令时需要在 MongoDB 运行时指定日志文件路径.--logpath [file] ,或者在配置文件中指定. use admin db.runCommand({logRotate:1})…
首先配置日志变量,然后配置日志 在/etc/nginx/conf.d/default.conf 配置变量 server{ if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})"){ set $year $1; set $month $2; set $day $3; } } 然后在nginx.conf里面配置日志格式 http{ log_format custom_log '[$time_local] $request_time $remote_ad…
pom.xml中repositories.pluginRepository的作用 pom.xml中repositories标签的作用是: 用来配置maven项目的远程仓库.示例如下: <repositories> <repository> <id>nexus</id> <name>Nexus Repository</name> <url>远程仓库地址</url> <releases> <ena…
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 否则会把二进制执行…
一.问题由来 我们组用jenkins部署了持续集成环境,(jenkins部署war包到远程服务器的tomcat). 每次提交了代码,jenkins上一键构建,就可以自动拉取最新代码,打war包,热部署到远程环境上的tomcat. 一切都很好,只是一次用jconsole偶然连上去一看,远程环境上的tomcat上,线程数竟多达700多个... 二.排查代码 查看线程堆栈,几百个线程中,线程名为“UserService-InformImAndCcm”打头的,多达130+,但是在代码中,只搜到一处线程池…