初始nginx
Nginx命令行,重载
- 格式 : nginx -s reload (重载)
- 帮助: -? -h
- 使用指定的配置文件:-c
- 指定配置指令:-g
- 指定运行目录:-p
- 发送信号:-s
- stop(立即停止服务)
- quit(优雅停止)
- reload(重新加载配置文件)
- reopen(重新开 始记录日志文件)
- 测试配置文件是否有语法错误:-t -T
- 打印nignx的版本信息、编译信息等:-v -V
- 查看nginx进程信息:ps -ef | grep nginx
Nginx热部署
- 下载最新版的nginx源码包重新编译nginx
- 进入待升级的nginx的sbin目录 ,把sbin/目录下的nginx二进制文件复制一份备份,使用命令:cp nginx nginx.old
- 把刚刚编译好的最新版本的sbin目录下的二级制文件nginx复制到待升级的nginx的sbin目录,代替原来的二级制文件nginx, 在带升级ngin版本sbin目录下执行:cp -r nginx /usr/local/nginx/sbin/ -f
- 执行命令:kill -USR2 masterid ,其中masterid=之前运行的nginx的master进程的pid
- kill -WINCH masterid ,优雅关闭来的work进程
Nginx 日志切割
- 把之前的日志备份一份, mv error.log error_2018-12-04.log
- 重新生成新的日志,../sbin/nginx -s reopen
- 这种方法非常不好用,我们通常都写成脚本,每天或者每周切割一次,把脚本放在crontab -l 中,定时执行。
用 GoAccess 实现可视化并实时监控 access 日志
在linux上安装 yum install goaccess
进入nginx安装目录 cd /usr/local/nginx/log 执行如下命令
goaccess access.log -o ../html/report.html --real-time-html --time-format='%H:%M:%S' --date-format='%d/%b/%y' --log-format=COMBINED
在nginx.conf添加
location /report.html{
alias /usr/local/nginx/html/report.html;
}浏览器访问:ip:port/report.html,.就可以看到了