JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx 学习进阶(二):配置详解

wys521 2024-09-17 02:25:19 精选教程 37 ℃ 0 评论

上一篇我们在Centos上安装了Nginx,本文将讲解Nginx的配置功能。不清楚怎么安装Nginx的可以看:Nginx 学习进阶(一):CentOS 下部署 Nginx

Nginx文件结构

首先看一下nginx配置文件结构

... #全局块

events { #events块
 ...
}
http #http块
{
 ... #http全局块
 server #server块
 { 
 ... #server全局块
 location [PATTERN] #location块
 {
 ...
 }
 location [PATTERN] 
 {
 ...
 }
 }
 server
 {
 ...
 }
 ... #http全局块
}
  • 1、全局块:配置影响nginx全局的指令。
  • 一般有:运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

  • 2、events块:配置影响nginx服务器或与用户的网络连接。
  • 有:每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

  • 3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
  • 4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。
  • 5、location块:配置请求的路由,以及各种页面的处理情况。
  • 下图具体标示具体的文件结构

    Demo

    下面给大家上一个配置文件,作为理解。

    上面是nginx的基本配置,需要注意的有以下几点:

    1、几个常见配置项:

    • 1.$remote_addr 与 $http_x_forwarded_for 用以记录客户端的ip地址;
    • 2.$remote_user :用来记录客户端用户名称;
    • 3.$time_local : 用来记录访问时间与时区;
    • 4.$request : 用来记录请求的url与http协议;
    • 5.$status : 用来记录请求状态;成功是200;
    • 6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;
    • 7.$http_referer :用来记录从那个页面链接访问过来的;
    • 8.$http_user_agent :记录客户端浏览器的相关信息;

    2、惊群现象:

    一个网路连接到来,多个睡眠的进程被同事叫醒,但只有一个进程能获得链接,这样会影响系统性能。

    3、每个指令必须有分号结束。

    Tags:

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    最近发表
    标签列表