Nginx基本配置
Nginx常见配置文件
1.nginx.conf:应用程序的基本配置文件。
默认启动的Nginx的时,使用的配置文件是:安装路径/conf/nginx.conf文件,可以在启动的Nginx的的时候,通过-c来指定要读取的配置文件。
2.mime.types:MIME类型关联的扩展文件。
3.fastcgi.conf:与FastCGI的的的相关的配置。
4.proxy.conf:与代理相关的配置。
5.sites.conf:配置的Nginx的的提供的网站,包括虚拟主机。
Nginx进程结构
启动的Nginx的的的时候,会启动一个主进程,这个进程不处理任何客户端的请求,主要用来产生工作者进程,一个工人进程用来处理一个请求。
Nginx模块包括
核心模块,事件模块,标准的的的Http模块,可选的的的Http模块,邮件模块,第三方模块和补丁等。
Nginx基本模块
是指的Nginx的的默认的功能模块,它们提供的指令,允许你使用定义的Nginx的的基本功能的变量,在编译的时候不能被禁用,包括:
1. 核心模块:基本功能和指令,如进程管理和安全。
2. 事件模块:在Nginx的的的内配置网络使用的能力。
3. 配置模块:提供包含机制。
常见核心模块指令
常见的核心模块指令大部分都是放置在配置文件的顶部具体的指令,请参看nginx的官方文档,非常详细,参见:
http://nginx.org/en/docs/ngx_core_module.html
常见核心模块指令:error_log,include,pid,user,worker_cpu_affinity,worker_processes
error_log
日志有6个级别:debug | info | notice | warn | error | crit
Nginx的支持将不同的虚拟主机的日志记录在不同的地方,示例如下:
http{
error_log logs/http_error.log error;
server{
server_name one;
access_log logs/one_access.log;
error_log logs/one_error.log error;
}
server{
server_name two;
access_log logs/two_access.log;
error_log logs/two_error.log error;
}
}
注意: error_log off不是禁用日志,而是创建一个名为off的日志,要禁用日志,可以这么写:
error_log /dev/null crit;
include
可以包含一些其他的配置文件来完成需要的功能,示例如下:
http {
#......
include mime.types;
include proxy.conf;
#......
}
其他语法
指令名称 | 语法 | 默认值 | 描述 |
PID | pid logs / nginx.pid | 在编译时定义 | 用于配置nginx的守护进程的PID文件路径 |
user | user username ; user username groupname; | 在编译时定义,若未定义,则使用的nginx的主进程的用户和用户组 | 该指令将允许你定义用户和组别,nginx的工人的进程将使用这些设置运行 |
worker_cpu_affinity | worker_cpu_affinity 1000 0100 0010 0001; worker_cpu_affinity 10 10 01 01; worker_cpu_affinity; | 无 | 该指令与woker_processes协同工作,它可以让你的工人进程影响的CPU内核,数字序列与工人进程一样多。 |
worker_processes | worker_processes 4; | 1 | 定义工作进程数量,nginx的可以将请求的处理分到多个工作进程,如果属于CPU多核建议增加该值,如果一个进程由于慢的I / O操作被阻塞,那么进入的工作进程将转交给其他工作进程。 注:根据负载自动调整worker进程设置:worker_processes auto; |