nginx的进程模型
主要有master进程和worker进程,使用命令查看
ps -ef|grep nginx
master 在只有一个
worker默认情况下只有一个,可以通过配置增加worker进程
master进程:主进程
相当于领导者
worker进程:工作进程
相当于工作者,为master服务
修改worker进程数量,首先进入nignx的配置文件
vim nginx.conf
图中数字1代表一个worker线程
nginx事件处理
使用的是异步非阻塞方式
使用 epoll;linux的epoll模型 ,多路复用io
设置nginx的并发数,在conf文件中,默认并发数为1024
ngin常用命令
- nginx -s stop 关闭服务,不建议使用,不考虑是否有用户连接,直接关闭
- nginx -s quit 退出nginx,建议使用,当前用户连接结束后关闭
- nginx -t 配置更改后,检查配置语法是否有错
- nginx -v 查看nginx当前的版本
- nginx -V 查看nginx具体的信息,日志存放目录等信息
- nginx -h或者nginx -? 查看命令帮助
- nginx -c filename 设置nginx的核心配置文件默认为conf/nginx.conf
nginx日志切割
- 在sbin 目录下创建新文件 cut_my_log.sh,将以下内容添加进去
#! /bin/bash
LOG_PATH="/var/log/nginx"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`
- 添加完成后还没有生效,需要使用命令
chmod +x cut_my_log.sh
- 输入执行命令
./ cut_my_log.sh
- 进入nginx日志文件目录,查看是否成功,出现以下界面即成功
日志切割定时任务
- 安装定时任务所需要的依赖
yum install crontabs
- 进入编辑并新增任务
crontab -e
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
- 重启之后定时任务才能生效
service crond restart
- 定时任务常见命令
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
crontab -e // 编辑任务
crontab -l // 查看任务列表