美文网首页
Nginx 虚拟主机配置和日志管理 [2]

Nginx 虚拟主机配置和日志管理 [2]

作者: 大鱼炖海棠 | 来源:发表于2019-05-30 21:12 被阅读0次

一、nginx虚拟主机配置

Nginx虚拟主机对应的文件实体就是/usr/local/nginx/nginx.conf文件。
Nginx配置文件分为几段:

worker_processes   1;// 有1个工作的子进程,可以配置,一般设置为CPU数*核数

events {    // 一般用于配置nginx连接的特性,如1个worker允许同时建立多少连接
    worker_connections  1024;      // 指一个子进程最大允许连接1024个连接
}

http {
待补充
}

二、nginx日志管理

2.1 日志格式

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

nginx.conf文件中,虽然上面这段话被注释,但缺省启用的日志格式就是main格式,输出到logs/access.log文件中。

nginx支持为每个server定制log。
观察nginx的server段,能看到如下信息:
# access_log logs/host.access.log main;
翻译成中文的意思是:本server访问的日志文件是 logs/host.access.log,日志格式使用的是预定义的main格式。当然nginx支持自定义的其他格式。

什么是main格式:
main格式是预定义的日期格式,main只是它的代号,便于引用。nginx提供的main格式如下:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

2.2 定时任务与日志切割

如果所有的日志都放在一个文件里,根据日志去排查生产问题时会异常的低效;不恰当的日志打印或者是海量的业务访问量,会致使日志文件的大小急剧膨胀最后撑爆磁盘。所以千万不要忽视日常运维中的日志管理。

常用的日志管理策略包含以下几个方面:

  • 打印:将程序日志打印到指定的日志文件当中
  • 切割:每天在一个固定的时点,通常是0点,对日志文件做切割,对当前的日志文件重命名并移到指定的历史日志文件夹中,其中重命名的方法可以是文件名拼接上日志产生的日期。最后生成一个新的日志文件,并将程序的日志输出指向该新文件
  • 清理:启动定时任务,每隔一段时间清理过期日志

脚本编写:

touch log.sh
vim log.sh

# !/bin/bash
# 定义日志文件路径
LOGPATH=/usr/local/nginx/logs/access.log
# 定义存放历史日志文件目录的命名规则
BASEPATH=/usr/local/nginx/logs/$(date -d yesterday +%Y-%m)

mkdir -p $BASEPATH

# 定义日志名的生成规则,指定存放目录
bak=$BASEPATH/access-$(date -d yesterday +%Y-%m-%d-%H%M).log

mv $LOGPATH $bak
touch $LOGPATH
# 重定向nginx日志输出到新建的日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

接下来使用linux系统提供的定时任务工具定时调度log.sh脚本:

crontab -e
# 在打开的文件中输入如下内容,保存退出后会自动执行定时任务
*/1 * * * * sh /usr/local/nginx/logs/log.sh

crontab命令的定时粒度设置参考下图:


image.png

相关文章

  • nginx2-路由

    1.nginx管理虚拟主机 基于域名虚拟主机配置 基于端口虚拟主机配置 基于ip虚拟主机配置 2.Location...

  • Nginx核心配置分析

    1、虚拟主机配置 2、Nginx的日志配置 3、location的语法和匹配规则 4、alias与root的区别 ...

  • Nginx进阶

    nginx 日志文件详解 监听 nginx 虚拟机配置 基于域名的虚拟主机

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • Nginx 虚拟主机配置和日志管理 [2]

    一、nginx虚拟主机配置 Nginx虚拟主机对应的文件实体就是/usr/local/nginx/nginx.co...

  • nginx学习目录

    nginx安装部署和配置管理 nginx日志配置 nginx平滑升级与回滚 nginx反向代理 nginx负载均衡...

  • 新架构第3天

    Q1、基于location实现基于域名虚拟主机 测试结果: Q2、nginx自定义日志路径,配置访问日志为json...

  • Nginx

    安装Nginx 配置虚拟主机

  • Nginx虚拟主机与安全认证实战

    知识要点: 配置Nginx虚拟主机实践 安全认证实践 安装验证 Nginx虚拟主机配置讲解 讲解配置之前我们要了解...

  • Nginx——虚拟主机配置

    基于域名的虚拟主机 基于端口的虚拟主机 基于IP的虚拟主机nginx的主配置文件/etc/nginx/nginx....

网友评论

      本文标题:Nginx 虚拟主机配置和日志管理 [2]

      本文链接:https://www.haomeiwen.com/subject/kfdbtctx.html