文章目录
- nginx配置(一)
- nginx配置文件
- nginx 全局配置
nginx配置(一)
- 配置文件的组成部分:
主配置文件 : nginx.conf
子配置文件 include conf.d/*.conf
fastcgi,uwsgi,scgi 等协议相关的配置文件 - 主配置文件的配置指令:
directive value [value2 …]; - 注意:
(1) 指令必须以分号结尾
(2) 支持使用配置变量
内建变量:由Nginx模块引入,可直接引用
自定义变量:由用户使用set命令定义
set variable_name value;
引用变量:$variable_name - 指令帮助指南
http://nginx.org/en/docs/dirindex.html --> ctrl + F 如:“load_module”
nginx配置文件
主配置文件结构:四部
main block:主配置段,即全局配置段,对http,mail都有效
event {
...
} 事件驱动相关的配置
http {
...
} http/https 协议相关配置段
mail {
...
} mail 协议相关配置段
stream {
...
} stream 服务器相关配置段
http协议相关的配置结构
http {
...
... 各server的公共配置
server { 每个server用于定义一个虚拟主机
...
}
server {
...
server_name 虚拟主机名
root 主目录
alias 路径别名
location [OPERATOR] URL { 指定URL的特性
...
if CONDITION {
...
}
}
}
nginx 全局配置
正常运行必备的配置
user nginx;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
load_module modules/ngx_mail_module.so;
性能优化相关的配置:
worker_processes number | auto; //worker进程的数量;通常应该为当前主机的cpu的物理核心数
worker_cpu_affinity cpumask ...; //提高缓存命中率
worker_priority number; //指定worker进程的nice值,设定worker进程优先级:[-20,20]
worker_rlimit_nofile number; //所有worker进程能打开的文件数量上限,最好与ulimit -n 的值保持一致,如65535
事件驱动相关的配置:
events {
use epoll; //指明并发连接请求的处理方法,默认自动选择最优方法
accept_mutex on; // 处理新的连接请求的方法;on指由各个worker轮流处理新请求,Off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认值为off,可优化为on
worker_connections 10240; //每个worker进程所能够打开的最大并发连接数
multi_accept on|off; //此指令默认为off,即默认为一个worker进程只能一次接受一个新的网络连 接, on表示每个woker进程可以同时接受所有新的网络连接
}
调试和定位问题:
daemon on|off; // 是否以守护进程方式运行,默认是on,即守护进程方式,off 用于调试或docker环境
master_process on|off; //是否以master/worker模型运行nginx,默认为on,当指定off 将不启动worker
error_log file [level] ; //错误日志文件及其级别;出于调试需要,可设定为debug;但debug仅在编译时使用了“--with-debug”选项时才有效
/path/logfile: 记录到文件中
stderr: 发送到标准错误
syslog:server-address[,parameter=values] 发送到syslog
memory:size 内存
level:debug|info|notice|warn|error|crit|alter|emerg 日志级别