Nginx基础教程

Nginx 基础

    • Nginx 启动 重启 终止
    • 终止
    • 启动
    • 更新配置文件 (重启)
    • 使用Nginx指令终止 重启服务
    • Nginx日志管理
    • 使用脚本定时切割日志

Nginx 启动 重启 终止

终止

1. 查找进程号

ps aux | grep nginx 

在这里插入图片描述
可以看到有两个进程 第1个进程是工作进程 第3个是主进程 我们需要终止的是主进程 (master)

2. 使用kill指令终止进程

kill -INT 32272

启动

直接执行nginx安装目录的二进制文件

/usr/local/nginx/sbin/nginx

Nginx基础教程_第1张图片

也可以加上在后面加上配置文件 默认启动会加载安装目录下的配置文件 也可指定其他的配置文件

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Nginx Kill 信号量
在这里插入图片描述

Nginx基础教程_第2张图片

更新配置文件 (重启)

在不需要终止Nginx进程的情况下更新我们更改的配置文件可以使用

kill -HUP 进程号

以上所说的都需要查询一遍进程号(pid)操作,其实我们也可以在nginx.conf中看一下pid的位置,直接用cat返回 ,pid记录的就是当前进程的pid。
Nginx基础教程_第3张图片

kill -QUIT `cat /var/run/nginx.pid`

使用Nginx指令终止 重启服务

Nginx基础教程_第4张图片

我们也可以直接使用Nginx指令对服务器或者配置文件进行操作

/usr/local/nginx/sbin/nginx -s reload //更新配置文件
/usr/local/nginx/sbin/nginx -s stop //关闭服务器

Nginx日志管理

当用户访问我们的服务器时,nginx会记录下用户访问的记录。
具体信息包括ip、客户端访问时间、请求协议、状态码、客户端信息等等信息,具体可参考下图。当然记录的内容可以是我们自定义的。
在服务器不断被访问的情况下,我们的日志文件会不断的增大,这时候就需要我们对日志文件进行管理

– 使用kill -usr1 nginx.pid进行日志切割
简单的重命名(MV)并不能将原来的日志分割,因为Nginx写日志是通过内存写入,如果只是单纯的使用重命名操作,新日志的写入依然是在新命名的文件中,而不是配置文件中定义的文件。
可以做一个简单的测试

mv access_nginx.log new_access_nginx.log

然后再次访问站点,我们会发现日志的写入是在new_access_nginx.log中,而不是配置文件中的access_nginx.log中。
如果我们这时候执行

kill -USR1 `cat nginx.pid`

nginx.pid 配置文件中pid的位置

在存放日志的目录中出现了新的access_nginx.log,之前的的日志内容已经切割到new_access_nginx.log中啦。

使用脚本定时切割日志

我们根据日期去切割管理每一天的日志,我们可以使用linux脚本进行操作

#!/bin/sh

LOG_PATH=/data/wwwlogs/access_nginx.log
BACK_PATH=/data/wwwlogs/runback/
LOG_NAME=access_nginx_$(date -d yesterday +%Y%m%d).log

mv $LOG_PATH $BACK_PATH$LOG_NAME
kill -USR1 `cat /var/run/nginx.pid`

如果出现新的日志,就证明这个脚本能成功对日志进行切割。
接着使用crontab做定时器任务,在每天凌晨0点执行这个脚本。

0 0 * * * sh /data/wwwlogs/runback/access.sh

这样,就实现了在每天凌晨0点对昨天的日志进行切割管理了。

ps::废话不用看,根据自己的实际配置文件执行代码就行勒。

你可能感兴趣的:(Nginx)