前言
本章讲解Nginx的配置文件的知识
方法
1.概念
Nginx配置文件的位置:nginx_home/conf/nginx.conf
2.虚拟主机的配置
观察配置文件中如下的代码:
其中server标签代表一个虚拟主机,是可以设置多个的。
当中的listen表示访问该nginx所需要的端口号,server_name表示访问nginx需要的ip地址或者域名。
location / 表示访问虚拟主机的时候默认进入的文件夹和文件。
root表示进入的文件夹,上图表示访问nginx根路径下的html文件夹。
index表示访问的文件名称,上图表示可以是index.html或index.htm
3.nginx日志配置
首先我们来看一下nginx日志存放的路径,默认为:nginx_home/logs
我们可以看到有三个文件,分别为访问日志、错误日志以及进程文件,我们主要关心的是访问日志和错误日志。
那么,access.log我们可以观察一下内容:
可以发现,日志记录了访问的ip,浏览器等情况。
那这个access.log是如何配置的呢?让我们再次回到配置文件观察一下:
可以发现,我们的日志路径和记录的日志内容格式均在此默认定义了,我们可以根据需要进行适当的修改。
举一反三:
我们知道,在正式环境中访问量是巨大的,有些时候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目录下:
注意:我们首先需要在根路径下新建backLogs文件夹
配置定时任务,暂时设置为每分钟执行一次:
这样的话,系统会每分钟进行日志的拆分,以便于运维人员更好的进行分析。