Nginx配置文件解读

默认情况下Nginx的配置文件位于

/usr/local/nginx/nginx.conf

如何不想保存在此位置,从源码安装Nginx时,可以指定配置选项  

--conf-path=path

Nginx在启动时会读取配置文件,并进行解析,根据配置文件启动工作者进程、解析虚拟主机等  

当我们修改了配置文件时,可以使用以下命令对配置文件语法的正确与否进行校验

nginx -t [-c path]

以下是Nginx-1.6.2默认的配置文件,我加了详细的注释说明

  #允许使用的用户和组  #user  nobody;  #工作者进程数(建议设置为CPU的核数)
  worker_processes  1;
  #以下三行定义了错误日志的存放路径,在Nginx中错误日志的级别有ERROR|DEBUG|INFO|NOTICE|WARN|CRIT  #默认的错误日志级别为CRIT(记录的信息量最小)
  #error_log  logs/error.log;
  #error_log  logs/error.log  notice;
  #error_log  logs/error.log  info;
  #保存Nginx主进程号的文件[在nginx.pid中保存了主进程的id]
  #pid        logs/nginx.pid;
  events {    #一个worker进程能够处理的最大连接数
      worker_connections  1024;
  }
  #http服务器的设置
  http {       #配置文件类型与文件扩展名之间的映射表[mime.type默认位于/usr/local/nginx/mime.type]
       include       mime.types;       #默认文件类型
       default_type  application/octet-stream;
       #配置日志文件的输出格式
       #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
       #                  ‘$status $body_bytes_sent "$http_referer" ‘
       #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;
       #指定Nginx日志文件的存放路径,如果不想启用日志文件,可以使用access_log off指令
       #access_log  logs/access.log  main;
       #sendfile指令指定Nginx是否使用sendfile函数(采用zero copy方式进行文件传输)
       sendfile        on;       #禁用Nagle算法,
       #tcp_nopush     on;
       #keep-alive的超时时间
       #keepalive_timeout  0;
       keepalive_timeout  65;
       #是否开启gzip,开启gzip可以以压缩的形式将数据发送至客户端,减少发送数据量
       #gzip  on;
       #虚拟主机的配置
       server {           #监听的http端口
           listen       80;           #指定可以连接到这个虚拟主机的域名[可以使用正则表达式进行域名的匹配]
           server_name  localhost;
           #设置服务器响应时content-type的编码
           #charset koi8-r;
           #访问日志文件的保存位置
           #access_log  logs/host.access.log  main;
           #默认请求
           location / {              #请求到达后的文件根目录,可以是相对路径,也可以是绝对路径        root   html;              #服务器上的默认主页        index  index.html index.htm;           }           #对应404页请求的返回           #error_page  404              /404.html;           #对应500/502/503/504的请求返回           error_page   500 502 503 504  /50x.html;           location = /50x.html {             root   html;           }       }       }

对于配置文件中日志文件输出格式定义了以下变量

$remote_addr/$http_x_forwarded_for定义了客户端的IP地址
$time_local用以记录访问的时间以及时区
$request用来记录请求的URL及HTTP协议
$status用来记录请求返回的状态
$body_bytes_sent记录向客户端返回文件的大小
$http_referer用于记录从哪个页面跳转过来访问的
$http_user_agent记录客户端浏览器相关的信息

以下是Nginx访问日志的一个示例 

127.0.0.1 - - [02/Feb/2015:16:11:49 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0"

 

时间: 2024-11-05 21:51:17

Nginx配置文件解读的相关文章

nginx之主配置文件解读

主配置文件解读 过滤conf文件的内容 1 grep -v "^#" nginx.conf | grep -v "^$" nginx.conf主配置文件 1 # 工作进程数 根据cpu 查看cpu信息 cat /proc/cpuinfo 或者top 再按下数字1看核数 2 worker_processes 4; 3 # 事件连接数 4 events { 5 worker_connections 1024; 6 } 7 http { 8 # 关键字 9 include

nginx配置文件详细解读

https://m.w3cschool.cn/nginx/nginx-d1aw28wa.html ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /usr/local/nginx/logs/

NGINX配置文件nginx.conf详解

1.配置文件结构 Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令.main部分设置的指令将影响其它所有部分的设置:server部分的指令主要用于指定虚拟主机域名.IP和端口:upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡:location部分用于匹配网页位置(比如,根目录"/"

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx配置文件详解

nginx配置文件nginx.conf超详细讲解 #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/error.log  crit;  #运行用户,默认即是nginx,可不设置user nginx       #进程pid存放位置pid        /application/nginx/nginx.pid; #Specifies the value

ansible管理nginx配置文件

#生产环境中大多时候是需要管理配置文件的,安装软件包只是在初始化环境的时候用一下.下面我们来写个管理nginx配置文件的playbook 一.创建相关目录 mkdir  -p /etc/ansible/nginx_config/roles/{new,old}/{files,handlers,vars,tasks} #其中new为更新时用到的,old为回滚时用到的,files下面为nginx.conf和vhosts目录,handlers为重启nginx服务的命令. #关于回滚,需要在执行playb

nginx 配置文件 PATHINFO重写规则

user  www www;worker_processes  2; #error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info; pid        logs/nginx.pid; events {    use epoll;    worker_connections  2048;} http {    include       mime.types;   

ansible-管理nginx配置文件

背景:安装软件包,只是在初始化环境时用一下,大多时候需要修改配置文件:管理Nginx配置文件的playbook,执行playbook之前,一定要备份旧的配置:机器上的配置文件需和new/files保持一致 1. 创建目录和配置文件 说明:new为更新时用到,old为回滚时用到,即将new目录内容拷贝进来 mkdir -p /etc/anxible/nginx_config/roles/new/{files,handlers,vars,tasks} mkdir -p /etc/anxible/ng

配置使用vim编辑Nginx配置文件时语法高亮

vim是Unix系统中非常实用的文本编辑器,它和传统的vi相比最大的区别在于它所支持的配色方案,这个功能使得平时编辑一些配置文件或者是在写代码的时候极大的提高工作效率,如果我们在系统中有安装vim相应的包且开启了syntax配色方案的时候会不显示语法高亮往往是配置设置错误所引起的.一般配置错误有2个地方:1.是远程服务器的仿真客户终端配置错误:2.是服务器上环境变量配置错误.在这里就用SecureCRT仿真客户终端为例子简单的说一下vim开启syntax配色方案: 在SecureCRT上需要配置