本文是从网络观看视频学习进行的整理。
all.jpg
一、Nginx的配置文件总览!
title.png
1.1.png
我们先来查看一下nginx配置文件:
cd nginx.conf
vi nginx.conf
1.2.png
1.3.png
1.4.png
二、Nginx的虚拟主机配置-1
title2.png
2.1.png
2.1.1.png
查看ip地址,使用的是linux系统,控制台输入ifconfig,显示如下:
2.1.2.png
可看到我们查到有两个网卡:
eth0
和lo
eth0
网卡信息我们可以看到为:
IP:192.168.147.128
Bcast(BroadCast):192.168.147.255
Mask(子网掩码):255.255.255.0
然后根据
eth0
这个设备,下面进行IP地址的配置(注意查看配图的终端命令),并查看ip
2.1.3.png
然后我们需要进行虚拟主机的配置
我们现在将进行虚拟主机的配置,我们可以看到现在的设备只要一个
eth0
,但是虚拟主机有非常多个,因此我们从这个设备中,分出子设备,那么,如何进行分? 看图最后两行(注意终端命令的变化):
2.1.4.png
输入 ifconfig,查看分设备:
2.1.5.png
可以看到,我们已经成功配置好了第一个分设备地址,那么接下来,我们将配置第二个分设备地址(与配第一个步骤相同):
命令不一致地方为:~~~eth0:2 198.168.1.17~~~
于是,第二个分设备配好。
2.2.png
在系统自带的nginx.conf文件下直接进行修改不太友好、不安全,于是我们在新建文件(xnzj.conf)进行虚拟主机配置(避免将重要文件崩溃),配置好之后,加载我们进行配置的文件即可。
touch xunizhuji.confvi xunizhuji.conf#最简框架,不可或缺内容如下:
2.2.1.png
我们虚拟主机的配置是在http下面的server中的。分别进行
192.168.1.7
与192.168.1.7
的配置。
二、Nginx的虚拟主机配置-2
title3.png
access.log
为日志文件的存放目录location
为本地项目目录,访问的地址为html/server1/index.html
配置如下:(注意:红框内倒数第四行少一个单词:index)
3.1.png
需要在文件html下分别新建
server1/index.html
和ss2/index.html
,才能被访问到。为了便于测试,我们分别在两个html文件中输入文本内容:1111111111111
和di2gexnzj!
#创建好文件后,我们在终端输入命令加载nginx /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xnzj.conf #配置文文件加载完毕!
输入不同ip后,效果图:
3.2.png
3.3.png
四、Nginx的日志文件配置
title4.png
4.1.png
log_format
编辑主配置文件(demo为在主配置文件):vi nginx.conf
4.2.png
仔细查看红框中的红色部分,我们对其配置文件内容进行解析:
$remote_addr
:客户端ip地址
$remote_user
:客户端用户名
$request
:请求的URL,用户请求的地址
$status
:请求状态(请求中、请求完毕)
$body_bytes_sent
:给用户返回数据的字节数
$http_referer
:源网页
$http_user_agent
:客户端浏览器的对应信息
$http_x_forwarded_for
:客户端的IP地址,与remote_addr相似若想自定义日志文件,可根据以上内容进行配置。
4.3.png
vi nginx.conf
4.4.png
access.log off
:关闭日志
4.5.png
手动切割(便于理解日志切割的步骤)
我们之前的配置,可知道我们的日志文件放在access.log日志文件中.
我们现在进行切割,以前的日志记录我们放到一个目录中,新的日志记录我们让它重新存储到access.log文件中。
#首先将我们旧的文件移出来(第一步:备份) mv access.log 20180927.log(自定义名字)#然后进行文件的切割(第二部:新开) kill USR1 (nginx服务的进程号[` ps -ef |grep nginx `查看])#于是实现了日志文件的切割
自动切割(自动实现23:59切割)---crontab
[定时执行某个文件]
首先新建一个批处理文件
在logs文件中,新建:touch cutlog.sh
然后
vi cutlog.sh
:内容如图
4.6.png
:wq保存退出后,终端输入命令:
crontab e
编辑我们定时执行的文件:
4.7.png
意思就是:每天在23:59分的时候定时执行这个文件!
这样就实现了nginx的定时切割。
五、Nginx的缓存配置和其它配置
title5.png
5.1.png
进入配置文件,
vi nginx.conf
5.1.1.png
对图片以及CSS文件的缓存,缓存时才分别为30天、1小时
5.2.png
5.2.1.png
gzip on
--开启gzip压缩功能
gzip_min_length 1k
--对于小于1k的文件不进行gzip压缩处理
gzip_buffers 4 16k
--压缩成的结果申请内存资源(缓存资源)
gzip_http version 1.1
--Http版本为1.1才可进行压缩
gzip_vary on
--服务器与客户端浏览器都需支持gzip压缩技术,客户端不支持,不进行压缩处理
5.3.png
5.3.1.png
作者:六个周
链接:https://www.jianshu.com/p/895df579ff89