12343052 发表于 2017-12-23 16:45:08

Nginx常用的核心模块指令

  1.error_log
  

#......  
error_loglogs
/error.log;  
#error_loglogs
/error.lognotice;  
#error_loglogs
/error.loginfo;  
#......
  

  日志有6个级别:debug|info|notice|warn|error|crit
  Nginx支持将不同的虚拟主机的日志记录在不同的地方,如下示例:
  

http{  error_log logs
/http_error.log error;  server{
  server_name one;
  access_log logs
/one_access.log;  error_log logs
/one_error.log error;  }
  server{
  server_name two;
  access_log logs
/two_access.log;  error_log logs
/two_error.log error;  }
  
}
  

  注意error_log off并不能关闭日志记录功能,而会将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:
  

error_log /dev/null crit;  

  2.include
  你可以包含一些其他的配置文件来完成你想要的功能。
  

http {  #......
  include       mime.types;
  include       proxy.conf;
  #......
  
}
  

  0.4.4版本以后,include指令已经能够支持文件通配符:
  

include vhosts/*.conf;  

  注意:直到0.6.7版本,这个参数包含的文件相对路径随你在编译时指定的--prefix=PATH目录而决定,默认是/usr/local/nginx,如果你不想指定这个目录下的文件,请写绝对路径。0.6.7版本以后指定的文件相对路径根据nginx.conf所在的目录而决定,而不是prefix目录的路径
  3.日志模块
  控制nginx如何记录请求日志。
  

log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';
  

  
access_loglogs
/access.logmain;  

  main是日志格式的别名
  4.事件模块
  

events {  use epoll;
  worker_connections
1024;  
}
  

  use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]
  如果你在./configure的时候指定了不止一个事件模型,你可以通过这个参数告诉nginx你想使用哪一个事件模型,默认情况下nginx在编译时会检查最适合你系统的事件模型。
  worker_connections和worker_proceses(见主模块)允许你计算理论最大连接数:
  最大连接数 = worker_processes * worker_connections
  在反向代理环境下:最大连接数 = worker_processes * worker_connections/4
  由于浏览器默认打开2个连接到服务器,nginx使用来自相同地址池的fds(文件描述符)与前后端相连接
  5.HTTP基本配置
  Nginx的HTTP配置主要包括三个区块,结构如下:
  

http { //这个是协议级别  
    include mime.types;
  default_type application
/octet-stream;  keepalive_timeout
65;  gzip on;
  server {
//这个是服务器级别  listen 80;
  server_name localhost;
  location / { //这个是请求级别
  
            root html;
  index index.html index.htm;
  }
  }
  
}
  
页: [1]
查看完整版本: Nginx常用的核心模块指令