标签:connect href tcp fqdn 加载 错误日志 精确 指令 deb
参考帮助文档!
1、user
Syntax: user user [group];
Default:
user nobody nobody;
Context: main
指定worker进程的运行身份,如组不指定,默认和用户名同名;
2、pid /PATH/TO/PID_FILE
指定存储nginx煮即成PID的文件路径;
3、include file | mask
指明包含进来的其他配置文件片段;
4、load_module file
模块加载配置文件;、/usr/share/nginx/modules/*.conf
指明要装在的动态模块路径:/usr/lib64/nginx/modules
1、worker_processes number | auto
worker进程的数量;通常应该为当前主机的CPU的物理核心数;
2、worker_cpu_affinity cpumask ...
worker_cpu_affinity auto [cpumask] 提高缓存命中率
CPU MASK: 00000001:0号CPU
? 00000010:1号CPU
? 10000000:8号CPU
worker_cpu_affinity 0001 0010 0100 1000;
worker_cpu_affinity 0101 1010;
3、worker_priority number
指定worker进程的nice值,设置worker进程优先级:[-20,20]
4、worker_rlimit_nofile number
worker进程能够打开的文件数量上限,比如:65535
events {
……
}
1、worker_connections number
每个worker进程所能够打开的最大并发链接数数量,如10240
总最大并发数:woker_processes * worker_connections
2、use method
指明并发连接请求的处理方法,默认自动选择最优方法:
use epoll
3、accept_mutex on | off
处理新的链接请求的方法:on指由各个worker轮流处理新请求,off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能;
1、daemon on | off
是否以守护进程方式运行nginx,默认是守护进程方式;
2、master_process on | off
是否以master/worker模型运行nginx,默认为on;
3、error_log file [level]
错误日志文件及其级别:出于调试需要,可设定为debug;但debug仅在编译时使用了--with-debug
选项时才生效。
http {
…………
server {
…………
server_name
root
location [OPERATOR] /uri/ {
……
}
}
server {
……
}
}
1、server {……}
配置一个虚拟主机
server {
listen address [:PORT]|PORT;
server_name SERVER_NAME;
root /PATH/TO/DOCUMENT_ROOT;
}
2、listen PORT|address[:port]|unix:/PATH/TO/SOCKET_FILE
listen address [:port] [default_server] [ssl] [http2 | spdy] [backlog=number] [rcvbuf=size] [sndbuf=size]
虚拟主机实现方法:
(1)基于port
listen PORT;
指令监听在不同的端口
(2)基于虚拟IP
listen IP:PORT;
IP地址不同
(3)基于hostname
server_name fqdn;
指令执行不同的主机名
3、server_name name……;
虚拟主机的知己名称后可跟多个由空白字符分隔的字符串
支持*
通配任意长度的任意字符
server_name *.lvzhenjiang.com www.lvzhenjiang.*
支持~
起始的字符做正则表达式模糊匹配,性能原因慎用
server_name ~^www\d+\.lvzhenjiang\.com$
说明:\d表示[0-9]
匹配优先级机制从高到第:
(1)首先是字符串精确匹配,如:www.lvzhenjiang.com
(2)左侧*
通配符,如*.lvzhenjiang.com
(3)右侧*
通配符,如www.lvzhenjiang.*
(4)正则表达式,如~^www\d+\.lvzhenjiang\.com$
(5)default_server
4、tcp_nodelay on | off
在keepalived模式下的链接是否启动TCP_NODELAY
选项
当为off时,延迟发送,合并多个请求再发送
默认为on时,不延迟发送
可用于:http、server、location
5、sendfile on | off
是否启动sendfile功能,在内核中封装报文直接发送
默认off
6、server_tokens on | off | build | string
是否在响应报文的Server首部显示nginx版本
7、root
设置web资源的路径映射;用于指明请求的URL所对应的文档的目录路径,可用于http、server、loation、if in location
server {
……
root /data/www/vhosts;
}
8、location [=||*|^~] uri {……}
location @name{……}
在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;nginx会根据用户请求的URL来检查定义的所有locatiobn,并找出一个最佳匹配,而后应用其配置。
示例:
server {
server_name www.lvzhenjiang.com;
location /images/ {
root /data/www/
}
}
# 此时访问
http://www.lvzhenjiang.com/1.jpg 访问的路径是 /data/www/images/1.jpg
= :对URL做精确匹配:
location = / {
……
}
http://www.lvzhenjiang.com/ # 匹配
http://www.lvzhenjiang.com/index.html # 不匹配
^~ :对URL的最左边部分做匹配检查,不区分字符大小写;
~ :对URL做正则表达式匹配,区分字符大小写;
~*:对URL做正则表达式匹配,不区分字符大小写;
不带符号:匹配起始于此URL的所有URL
匹配优先级:=
>> ^~
>> ~/~*
>> 不带符号
9、alias path
路径别名,文档映射的另一种机制,仅能用于location上下文
示例:
http://www.lvzhenjiang.com/bbs/index.php
location /bbs/ {
alias /web/forum; # 访问的是/web/forum、index.html
}
location /bbs/ {
root /web/forum; # 访问的是/web/forum/bbs/index.html;
}
注意:location中使用root指令和alias指令的意义不同:
(1)root:给定的路径对应于location中的/url/左侧的/
(2)alias:给定的路径对应于location中的/url/右侧的/
10、index file
指定默认网页文件,注意:ngx_http_index_module
模块
11、error_pagecode …… [ = [response]] uri
模块:ngx_http_core_module
定义错误页,以指定的响应状态码进行响应!
可用位置:http、server、location、if in location
location
error_page 404/404.html
error_page 404 =200 /404.html
12、try_files file …… uri
try_files file …… =code
按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URL的指向。最后一个参数是回退URL且必须存在,否则会出现内部500错误!
locationn /images/ {
try_files $uri /images/default.gif;
}
location / {
try_files $uri $uri/index.html $uri.html =404;
}
# $uri 含义:www.lvzhenjiang/123.html $uri就是表示123.html
1、keepalive_timeout timeout [header_timeout]
设定保持连接超时时长,0表示禁止长连接,默认为75s;
2、keepalive_requests number
在一次长连接上锁允许请求的资源的最大数量,默认为100;
3、keepalive_disable none | browser ……
对哪种浏览器禁用长连接
4、send_timeout time
向客户端发送响应报文的超时时长,此处是指两次写操作之间的间隔时长,而非整个响应过程的传输时长!
5、client_body_buffer_size zise
用于接收每个客户端请求报文的body部分的缓冲区大小;默认为16k;超出此大小时,将其被暂存到磁盘上的由下面client_body_temp_path
指令所定义的位置;
6、client_body_temp_path path [level 1 [level 2 [level 3]]]
设定存储客户端请求报文的body部分的临时存储路径及子目录结构的数量
1、limit_rate rate
限制响应给客户端不能的传输速率,单位是bytes/second,默认值0表示无限制;
2、limit_except method…… {……},仅能用于location
限制客户端使用除了指定的请求方法之外的其他方法
limit_except GET {
allow 192.168.99.0./24;
deny all;
}
1、aio on | off | threads[=pool]
是否启用aio功能!
2、directio size | off
当文件大于等于给定大小时,例如directio 4m,同步(直接)写入磁盘,而非写入缓冲!
3、open_file_cache off
open_file_cache max=N [inactive=time]
nginx可以缓存以下三种信息:
max=N:可缓存的缓存项上限;达到上限后会使用LRU算法实现管理
inactive=time:缓存项的非活动时长,在此处指定的时长内未被命中的或命中的次数少于open_file_cache_min_uses
指令所指定的次数的缓存项即为非活动项,将被删除!
4、open_file_cache_errors on | off
是否缓存查找时发生错误的文件一类的信息!默认值为off
5、open_file_cache_min_uses number
open_file_cache
指令的inactive
参数指定的时长内,至少被命中此处指定!
6、open_file_cache_valid time
缓存项有效性的检查频率,默认值为60s
标签:connect href tcp fqdn 加载 错误日志 精确 指令 deb
原文地址:https://www.cnblogs.com/lvzhenjiang/p/14022175.html