Nginx主模塊這里是控制 Nginx 的基本功能的指令. 指令
daemon語法: daemon on | off 缺省值: on daemon off; Do not use the "daemon" and "master_process" directives in a production mode, these options are mainly used for development only. You can use 生產環境中不要使用"daemon"和"master_process"指令,這些選項僅用于開發調試。 debug_points語法: debug_points [stop | abort] 缺省值: none debug_points stop; There are some assertion points inside nginx that allow to stop nginx to attach the debugger, or to abort and to create the core file. 應該適用于調試,在調試器內設置斷點之類的。 error_log語法: error_log file [ debug | info | notice | warn | error | crit ] 缺省值: ${prefix}/logs/error.log Nginx 添加 error_log LOGFILE [ debug_core | debug_alloc | debug_mutex | debug_event ]: | debug_http | debug_imap ; include語法: include file | * 缺省值: none 你可以在任意地方使用include指令實現配置文件的包含,類似于apache中的include方法,可減少主配置文件d。
include vhosts/*.conf; 注意路徑受到configure編譯參數--prefix=<路徑>指令的影響,如果沒有指定,Nginx默認是被編譯在/usr/local/nginx。 語法: lock_file file 缺省值: compile-time option lock_file /var/log/lock_file; nginx uses accept mutex to serialize accept() syscalls. If nginx is built by gcc, Intel C++, or SunPro C++ compilers on i386, amd64, sparc64, and ppc64, then nginx uses the atomic instructions to implement the mutex. In other cases the lock file would be used. master_process語法: master_process on | off 缺省值: on master_process off; Do not use the "daemon" and "master_process" directives in a production mode, these options are mainly used for development only. 生產環境中不要使用"daemon"和"master_process"指令,這些選項僅用于開發調試。 pid語法: pid file 缺省值: compile-time option Example: pid /var/log/nginx.pid; 進程id存儲文件。可以使用 kill -HUP ssl_engine語法: ssl_engine engine 缺省值: system dependent Here you can set your preferred openssl engine if any available. You can figure out which one do you have with the commandline tool: 該指令用于指定openssl使用的引擎。你可以通過下面的命令行獲知系統目前支持的openssl引擎
例如: $ openssl engine -t (cryptodev) BSD cryptodev engine : [ available ] (dynamic) Dynamic engine loading support : [ unavailable ] timer_resolution語法: timer_resolution t 缺省值: none Example: timer_resolution 100ms; The directive allows to decrease number gettimeofday() syscalls. By default gettimeofday() is called after each return from kevent(), epoll, /dev/poll, select(), poll(). But if you need an exact time in logs when logging $upstream_response_time, or $msec variables, then you should use user語法: user user [group] 缺省值: nobody nobody 指定Nginx Worker進程運行用戶,默認是nobody賬號。 例如: user www users; worker_cpu_affinity語法: worker_cpu_affinity cpumask [cpumask...] 缺省值: none Linux only. With this option you can bind the worker process to a CPU, it calls sched_setaffinity(). 僅適用于linux,使用該選項可以綁定worker進程和CPU. For example, worker_proceses 4; worker_cpu_affinity 0001 0010 0100 1000; Bind each worker process to one CPU only. 分別給每個worker進程綁定一個CPU. worker_proceses 2; worker_cpu_affinity 0101 1010; Bind the first worker to CPU0/CPU2, bind the second worker to CPU1/CPU3. This is suitable for HTT. 將CPU0/CPU2綁定給第一個worker進程,將CPU1/CPU3綁定給第二個worker進程。 worker_priority語法: worker_priority [-] number 缺省值: on With this option you can give to all worker processes the priority (nice) you need/wish, it calls setpriority(). 使用該選項可以給所有的worker進程分配優先值。 worker_processes語法: worker_processes number 缺省值: 1 e.g.: worker_processes 5; nginx has the ability to use more than one worker process for several reasons: nginx可以使用多個worker進程,原因如下:
The max_clients = worker_processes * worker_connections worker_rlimit_core語法: worker_rlimit_core size 缺省值: ' Maximum size of core file per worker; worker_rlimit_nofile語法: worker_rlimit_nofile limit 缺省值: ' Specifies the value for maximum file descriptors that can be opened by this process. 指定 worker_rlimit_sigpending語法: worker_rlimit_sigpending limit 缺省值: ' (Since Linux 2.6.8) Specifies the limit on the number of signals that may be queued for the real user ID of the calling process. working_directory語法: working_directory path 缺省值: --prefix This is the working directory for the workers. It's used for core files only. nginx uses absolute paths only, all relative paths in configuration files are relative to |
|