nginx主模块配置
时间:2021-07-01 10:21:17
帮助过:7人阅读
daemon语法: daemon on | off缺省值: on若为on则以守护进程方式执行,默认为on,否则控制终端结束后,nginx进程也随终端的结束而结束。该选项主要用于开发调试,生产环境不建议使用。
include语法: include file | *缺省值: none用于配置文件的包含,与apache的include命令类似。include可以减少nginx主配置文件中的内容,推荐使用。
还可以进行全局包含,例如包含一个木下的所有.conf文件 include test/*.conf
lock_file语法: lock_file file缺省值: compile-time option指定nginx采用文件加锁时加锁的文件。nginx中接收连接需要用到linux上的accpet系统调用,该操作为原子操作,通过互斥锁实现,gcc, Intel C++, SunPro C++ 编译在 i386, amd64, sparc64, 和ppc64平台上的nginx采用原子指令实现互斥,在其他平台上则使用文件加锁方式实现。
master_process语法: master_process on | off缺省值: on是否开启master进程,与daemon指令一样都用于调试,不建议生产环境使用。
pid语法: pid file缺省值: compile-time option Example:nginx启动后,会将master进程的id写入到一个文件中,该指令指定了该文件的路径。
ssl_engine语法: ssl_engine engine缺省值: system dependent指定使用的openssl引擎。可以通过openssl engine -t获得系统目前使用的openssl引擎
timer_resolution语法: timer_resolution t缺省值: none例子
timer_resolution 100ms;
指定时间精度,默认nginx在kevent(), epoll, /dev/poll, select(), poll()等调用返回时会调用gettimeofday()函数获取时间,如果在日志中想精确的显示时间可以通过该指令设置
user语法: user user [group]缺省值: nobody 指定nginx worker进程运行的用户,默认为nobody, nobody是linux上一个权限很低的系统用户。
worker_cpu_affinity语法: worker_cpu_affinity cpumask [cpumask...]缺省值: none例子,给每个worker进程绑定一个cpu
worker_processes 4;
workcpu_ affinity 0001 0010 0100 1000;
该选项可以绑定worker进程和CPU.实际上底层通过调用sched_setaffinity()系统调用实现
worker_priority语法: worker_priority [-] number缺省值: on是否给worker进程分配优先值
worker_processes语法: worker_processes number缺省值: 1nginx中可以有多个worker进程,通常为了
1.更好的发挥多核CPU性能
2.减少磁盘I/O阻塞造成的延迟时间
3.减少单个进程调用select()/poll()使用的连接数,
说明:select(), poll()都是I/O复用接口,通过轮询来获取套接字上可读或可写的事件,执行速度和监听的链接(即文件描述符)的数量呈线性增长,监听的套接字越多,性能越差,因此select和poll监听的套接字应尽可能的少,这里nginx通过把连接分配给多个进程来减少单个进程的监听数。
worker_rlimit_nofile语法: worker_rlimit_nofile limit 缺省值: '指定worker进程打开的文件描述符的最大数量
working_directory语法: working_directory path 缺省值: --prefix指定nginx中worker进程的工作目录,默认为nginx安装目录
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了nginx主模块配置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。