nginx配置文件介绍
2017-06-26 16:40
253 查看
nginx.conf: Base configuration of the application
mine.types: A list of file extensions(扩展) and their associated(关联) mime type(所支持的mine类型列表)
fastcgi_params:Fast CGI-related configuration(fast CGI相关配置)
proxy.conf: Proxy-related configuration(代理相关配置)
sites.conf: Configuration of the websites served by Nginx, also know as virtual hosts.It's recommended to create separate files for each domain(定义虚拟主机)
main配置段:
event配置段:
server配置段:
正常运行必备的配置:
nginx.conf:
main配置段:
user USERNAME[GROUPNAME] 指定用于运行worker进程的用户和组; 如:user nginx nginx
pid /PATH/TO/PID_FILE; 指定nginx进程的pid文件路径; 如:pid /var/run/nginx.pid
worker_rlimit_nofile: 指定一个worker进程所能够打开的最大文件描述符数量(有默认值1024)
worker_rlimit_sigpending: 指定每个用户能够发往worker进程的信号数量
优化性能相关的配置:
nginx.conf:
main配置段:
worker_processes: worker进程的个数,通常应该为物理CPU核心数量减1,可以为auto实现自动设定
worker_cpu_affinity CPUMASK ...: 指定worker进程与cpu绑定(只是绑定,不是独占cpu) 如:worker_cpu_affinity 00000001 00000010 00000100;
worker_priority nice: 指定worker进程优先级【-20 -- 19】,数字越小,优先级越高,默认0
用于调试、定位问题的配置:
nginx.conf
main配置段:
daemon off|on 是否以守护进程的方式启动nginx;
master_process on|off 是否以master/worker模式运行nginx;
error_log /PATH/TO/ERROR_LOG level: 错误日志文件及其级别,出于调试的需要,可以设定为debug,但debug仅在调试时使用了“--with debug”选项时才有效;
nginx.conf :
event配置段:
work_connections: 每个worker进程能够响应的最大并发请求数量; work_process * work_connections
use [epoil | rgslg | select | poil]: 定义使用的事件模型,建议让nginx自动选择;
accept_mutex [on | off]: 各worker接收用户请求的负载均衡锁,表示用于让多个worker轮流的、序列化的响应新请求;
lock_file /PATH/TO/LOCK_FILE
nginx.conf:
server配置段:
套接字或主机相关的指令:
1.server{} 定义一个虚拟主机
server{
listen [PORT];
server_name[NAME];
root /PATH/TO/DOCUMENTROOT;
}
...
注意: (1) 基于portlisten 指令监听在不同的端口
(2)基于hostnameserver_name指令指向不同的主机名
2. listen
listen [address]listen [port]
default_server;设置默认虚拟主机。用于基于IP地址,或使用了任意不能对应于任何一个server的name时所返回站点。
ssl:
用于限制只能通过ssl连接服务供应商,只能使用https协议访问。
spdy:
SPDY protocol(speedy) 在编译了spdy模块的情况下,用于支持SPDY协议
http2:
http version 2;
3. server_name NAME[...]
后可跟一个或多个主机名,名称还可以使用通配符和正则表达式(以~开头)
(1)首先做精确匹配:例如 www.magedu.com
(2)左侧通配符:例如 *.magedu.com
(3)右侧通配符:例如 www.magedu.*
(4)正则表达式: 例如 ~^.*\.magedu\.com$
(5)default_server:
4.tcp_nodelay on | off
对keepalive模式下的连接是否使用tcp_nodelay选项(当报文很小时是否等待其他报文一起发送,节省带宽,一般设为off,避免延迟)
5.tcp_nopush on | off
是否启用tcp_nopush(FREEBSE)或tcp_cork(linux),仅在send_file为on时有用
6. send_file on | off
进程直接在内核空间对多个tpc报文头打包后一起发送,不用到内存空间处理(默认off,建议不一起打包)
路径相关的指令:
7.root
设置web资源的路径映射,用于指明请求url所对应文档目录路径
server {
...
root/data/www/vhost1;
比如:http://www.XXX.com/images/logo.jpg -->/data/www/vhost1/images/logo.jpg
}
server {
...
server_name www.XXX.com
location /images/ {
root /data/imgs/;// 当请求路径为images结尾时资源文档路径为/data/imgs/;
比如:http://www.XXX.com/images/logo.jpg -->/data/imgs/logo.jpg
}
}
8. location [url]{...}:
location @name {...}
功能:允许根据用户请求的url来匹配定义的location,匹配到时,此请求将为相应location块中的配置所处理;简言之,即用于为需要用到专用配置的url提供特定配置。
server {
...
server_name www.XXX.com
root /data/www;
location /admin/ {
}
}
mine.types: A list of file extensions(扩展) and their associated(关联) mime type(所支持的mine类型列表)
fastcgi_params:Fast CGI-related configuration(fast CGI相关配置)
proxy.conf: Proxy-related configuration(代理相关配置)
sites.conf: Configuration of the websites served by Nginx, also know as virtual hosts.It's recommended to create separate files for each domain(定义虚拟主机)
main配置段:
event配置段:
server配置段:
正常运行必备的配置:
nginx.conf:
main配置段:
user USERNAME[GROUPNAME] 指定用于运行worker进程的用户和组; 如:user nginx nginx
pid /PATH/TO/PID_FILE; 指定nginx进程的pid文件路径; 如:pid /var/run/nginx.pid
worker_rlimit_nofile: 指定一个worker进程所能够打开的最大文件描述符数量(有默认值1024)
worker_rlimit_sigpending: 指定每个用户能够发往worker进程的信号数量
优化性能相关的配置:
nginx.conf:
main配置段:
worker_processes: worker进程的个数,通常应该为物理CPU核心数量减1,可以为auto实现自动设定
worker_cpu_affinity CPUMASK ...: 指定worker进程与cpu绑定(只是绑定,不是独占cpu) 如:worker_cpu_affinity 00000001 00000010 00000100;
worker_priority nice: 指定worker进程优先级【-20 -- 19】,数字越小,优先级越高,默认0
用于调试、定位问题的配置:
nginx.conf
main配置段:
daemon off|on 是否以守护进程的方式启动nginx;
master_process on|off 是否以master/worker模式运行nginx;
error_log /PATH/TO/ERROR_LOG level: 错误日志文件及其级别,出于调试的需要,可以设定为debug,但debug仅在调试时使用了“--with debug”选项时才有效;
nginx.conf :
event配置段:
work_connections: 每个worker进程能够响应的最大并发请求数量; work_process * work_connections
use [epoil | rgslg | select | poil]: 定义使用的事件模型,建议让nginx自动选择;
accept_mutex [on | off]: 各worker接收用户请求的负载均衡锁,表示用于让多个worker轮流的、序列化的响应新请求;
lock_file /PATH/TO/LOCK_FILE
nginx.conf:
server配置段:
套接字或主机相关的指令:
1.server{} 定义一个虚拟主机
server{
listen [PORT];
server_name[NAME];
root /PATH/TO/DOCUMENTROOT;
}
...
注意: (1) 基于portlisten 指令监听在不同的端口
(2)基于hostnameserver_name指令指向不同的主机名
2. listen
listen [address]listen [port]
default_server;设置默认虚拟主机。用于基于IP地址,或使用了任意不能对应于任何一个server的name时所返回站点。
ssl:
用于限制只能通过ssl连接服务供应商,只能使用https协议访问。
spdy:
SPDY protocol(speedy) 在编译了spdy模块的情况下,用于支持SPDY协议
http2:
http version 2;
3. server_name NAME[...]
后可跟一个或多个主机名,名称还可以使用通配符和正则表达式(以~开头)
(1)首先做精确匹配:例如 www.magedu.com
(2)左侧通配符:例如 *.magedu.com
(3)右侧通配符:例如 www.magedu.*
(4)正则表达式: 例如 ~^.*\.magedu\.com$
(5)default_server:
4.tcp_nodelay on | off
对keepalive模式下的连接是否使用tcp_nodelay选项(当报文很小时是否等待其他报文一起发送,节省带宽,一般设为off,避免延迟)
5.tcp_nopush on | off
是否启用tcp_nopush(FREEBSE)或tcp_cork(linux),仅在send_file为on时有用
6. send_file on | off
进程直接在内核空间对多个tpc报文头打包后一起发送,不用到内存空间处理(默认off,建议不一起打包)
路径相关的指令:
7.root
设置web资源的路径映射,用于指明请求url所对应文档目录路径
server {
...
root/data/www/vhost1;
比如:http://www.XXX.com/images/logo.jpg -->/data/www/vhost1/images/logo.jpg
}
server {
...
server_name www.XXX.com
location /images/ {
root /data/imgs/;// 当请求路径为images结尾时资源文档路径为/data/imgs/;
比如:http://www.XXX.com/images/logo.jpg -->/data/imgs/logo.jpg
}
}
8. location [url]{...}:
location @name {...}
功能:允许根据用户请求的url来匹配定义的location,匹配到时,此请求将为相应location块中的配置所处理;简言之,即用于为需要用到专用配置的url提供特定配置。
server {
...
server_name www.XXX.com
root /data/www;
location /admin/ {
}
}
相关文章推荐
- Nginx 服务器安装及配置文件详解介绍
- Nginx配置文件详细介绍
- nginx服务器介绍,负载均衡,文件配置,内核优化
- Windows下Nginx的配置及配置文件部分介绍
- nginx的配置文件的详细介绍
- Nginx 的配置文件介绍
- Nginx常用模块介绍及配置文件说明
- Nginx实战之1.1-1.6 Nginx介绍,安装及配置文件详解
- LNMP架构应用实战——Nginx服务配置文件介绍
- Nginx 的配置文件介绍
- nginx conf文件结构介绍以及相关配置
- nginx的配置文件及指令介绍
- MYSQL中MY.CNF配置文件及参数介绍
- mmp文件介绍与配置
- opennms配置文件介绍
- Linux系统环境变量配置文件介绍
- Struts2.0配置文件的详细介绍
- Oracle 主要配置文件介绍
- 传奇 人形宝宝配置文件大致介绍 QQ26248039
- log4j文件的配置的详细介绍