前言

      本章讲解Nginx的配置文件的知识

方法

1.概念

Nginx配置文件的位置:nginx_home/conf/nginx.conf

nginx配置日志文件格式为json nginx日志文件目录_nginx配置日志文件格式为json

2.虚拟主机的配置 

观察配置文件中如下的代码:

nginx配置日志文件格式为json nginx日志文件目录_nginx配置日志文件格式为json_02

其中server标签代表一个虚拟主机,是可以设置多个的。

当中的listen表示访问该nginx所需要的端口号,server_name表示访问nginx需要的ip地址或者域名。

location / 表示访问虚拟主机的时候默认进入的文件夹和文件。

root表示进入的文件夹,上图表示访问nginx根路径下的html文件夹。

index表示访问的文件名称,上图表示可以是index.html或index.htm

3.nginx日志配置

首先我们来看一下nginx日志存放的路径,默认为:nginx_home/logs

nginx配置日志文件格式为json nginx日志文件目录_nginx配置日志文件格式为json_03

我们可以看到有三个文件,分别为访问日志、错误日志以及进程文件,我们主要关心的是访问日志和错误日志。

那么,access.log我们可以观察一下内容:

nginx配置日志文件格式为json nginx日志文件目录_虚拟主机_04

可以发现,日志记录了访问的ip,浏览器等情况。

那这个access.log是如何配置的呢?让我们再次回到配置文件观察一下:

nginx配置日志文件格式为json nginx日志文件目录_配置文件_05

 

可以发现,我们的日志路径和记录的日志内容格式均在此默认定义了,我们可以根据需要进行适当的修改。

举一反三:

我们知道,在正式环境中访问量是巨大的,有些时候nginx的日志文件可以达到几个G的大小,这对于运维来讲十分的不便。

为了解决这个问题,我们需要对生成出来的日志文件进行定时的备份处理。

首先我们需要一个备份日志文件的shell脚本,这里以access.log为例进行编写如下:

#!/bin/sh

BASE_DIR=/usr/local/nginx
BASE_FILE_NAME=access.log

CURRENT_PATH=$BASE_DIR/logs
BAK_PATH=$BASE_DIR/backLogs

CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME
BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M`
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
echo $BAK_FILE

$BASE_DIR/sbin/nginx -s stop

mv $CURRENT_FILE $BAK_FILE

$BASE_DIR/sbin/nginx

这里将其命名为access_log.sh并且放到sbin目录下:

nginx配置日志文件格式为json nginx日志文件目录_虚拟主机_06

注意:我们首先需要在根路径下新建backLogs文件夹

配置定时任务,暂时设置为每分钟执行一次:

nginx配置日志文件格式为json nginx日志文件目录_nginx配置日志文件格式为json_07

 

nginx配置日志文件格式为json nginx日志文件目录_nginx_08

这样的话,系统会每分钟进行日志的拆分,以便于运维人员更好的进行分析。

nginx配置日志文件格式为json nginx日志文件目录_虚拟主机_09