Nginx的基本配置

447 阅读4分钟
本文是从网络观看视频学习进行的整理。

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

可看到我们查到有两个网卡:eth0lo

  • 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.conf
vi xunizhuji.conf
#最简框架,不可或缺内容如下:

2.2.1.png

我们虚拟主机的配置是在http下面的server中的。分别进行192.168.1.7192.168.1.7的配置。


二、Nginx的虚拟主机配置-2

title3.png

access.log 为日志文件的存放目录 location为本地项目目录,访问的地址为 html/server1/index.html 配置如下:(注意:红框内倒数第四行少一个单词:index)

3.1.png

需要在文件html下分别新建server1/index.htmlss2/index.html,才能被访问到。为了便于测试,我们分别在两个html文件中输入文本内容: 1111111111111di2gexnzj!

  #创建好文件后,我们在终端输入命令加载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


如有错误,欢迎指正。

更多内容,可以查看我的博客 blog.liugezhou.online