Nginx的基本配置

作者: 六个周 | 来源:发表于2018-09-27 21:53 被阅读24次
    本文是从网络观看视频学习进行的整理。
    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

    如有错误,欢迎指正。
    个人公众号:【六个周】,欢迎订阅!

    相关文章

      网友评论

      • yemoumou:抽刀断水水更流,举杯消愁愁更愁。-简书朋友你好,我是币圈一老友,我的写作方向是区块链和数字货币,初到简书,望多多关照。互粉互赞,已赞,期待您的回赞哦。-޴ހ)ȡV롓退
      • 兜里没糖:作者写的挺详细的

      本文标题:Nginx的基本配置

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