Nginx配置文件解析

Posted X教授

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置文件解析相关的知识,希望对你有一定的参考价值。

Nginx配置文件 nginx.conf 文件在安装目录/conf目录下。

 

1、定义nginx运行的用户和用户组

user nginx nginx;

 

2、nginx进程数,建议设置为等于CPU总核心数

worker_processes 1;

 

3、进程文件

pid /var/run/nginx.pid;

 

4、工作模式与连接数上限:

worker_connections 是单个后台worker process进程的最大并发链接数,

并发总数是 worker_processes 和 worker_connections 的乘积, 即 max_clients = worker_processes * worker_connections

events {
    worker_connections  1024;
}

 

5、全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

 

6、http下的一些配置及其意义

include       mime.types; #文件扩展名与文件类型映射表
default_type  application/octet-stream; #默认文件类型
sendfile on;  #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来 输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置 为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常 把这个改成off。
autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
tcp_nopush on; #防止网络阻塞
tcp_nodelay on; #防止网络阻塞
keepalive_timeout 120; #长连接超时时间,单位是秒
gzip on; #开启gzip压缩输出

 

7、server虚拟主机一些配置及其意义

http{
 #虚拟主机1
 server{
  listen       80;
  server_name  www.nginx1.com;
  location / {
     root   html;
     index  index.html index.htm;
  }
 }

 #虚拟主机2
 server{
  listen       80;
  server_name  localhost;
  location / {
     root   html;
     index  index.html index.htm;
  }
 }
}

nginx支持三种类型的 虚拟主机配置

  • 1、基于ip的虚拟主机, (一块主机绑定多个ip地址)
server{
  listen       192.168.1.1:80;
  server_name  localhost;
}
server{
  listen       192.168.1.2:80;
  server_name  localhost;
}
  • 2、基于域名的虚拟主机(servername)
#域名可以有多个,用空格隔开
server{
  listen       80;
  server_name  www.nginx1.com www.nginx2.com;
}
server{
  listen       80;
  server_name  www.nginx3.com;
}
  • 3、基于端口的虚拟主机(listen不写ip的端口模式)
server{
  listen       80;
  server_name  localhost;
}
server{
  listen       81;
  server_name  localhost;
}

server下的location映射解析  匹配规则:  location [ = | ~ | ~* | ^~ ] uri { ... }

location URI {}:   对当前路径及子路径下的所有对象都生效;

location = URI {}:   精确匹配指定的路径(注意URL最好为具体路径),不包括子路径,因此,只对当前资源生效;

location ~ URI {}: 或  location ~* URI {}:   模式匹配URI,此处的URI可使用正则表达式,~区分字符大小写,~*不区 分字符大小写;

location ^~ URI {}:   不再检查正则表达式 

优先级:= > ^~ > ~|~* > /|/dir/

(官方中文文档:ngx_http_core_module

 

 

 

 

 *****************************

 *** Keep learning and growing. ***
 *****************************

以上是关于Nginx配置文件解析的主要内容,如果未能解决你的问题,请参考以下文章

Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段

Nginx 模块自主开发六:源码剖析配置文件解析过程

003.Nginx配置解析

Nginx配置文件解析

Nginx的配置文件(nginx.conf)解析

nginx配置文件解析