首页 > 代码库 > Nginx配置初步
Nginx配置初步
默认启动Nginx的时候,使用的配置文件是,安装路径/conf/nginx.conf文件
可以在nginx的时候,通过-c来指定要读取的配置文件
常见的配置文件有如下几个:
nginx.conf:应用程序的基本配置文件
mime.types:MIME类型关联的扩展文件
fastcgi.conf:与fastcgi相关的配置
proxy.conf:与proxy相关的配置
sites.conf:配置Nginx提供的网站,包括虚拟主机
Nginx的进程结构
启动Nginx的时候,会启动一个Master进程,这个进程不处理任何客户端的请求,主要用来产生worker进程,一个worker进程用来处理一个request。
Nginx模块分为,核心模块、事件模块、标准Http模块、可选Http模块、邮件模块、第三方模块和补丁等
在配置文件可以使用include file.conf;包含进配置文件
主配置文件nginx.conf
user //nginx的用户
pid //nginx的pid
work_processes //工作进程数 设置时和cpu数一样或都比cpu数少一
error_log logs/error.log [debug | info | notice | warn | error | crit | alert | ermerg ] //错误日志
work_cpu_affinity //cpu和进程绑定
当work_processes 4时
work_cpu_affinity 0001 0010 0100 1000
work_processes 2
work_cpu_affinity 0101 1010
work_priority number //work优先级调整 -20 to 20
work_rlimit_nofile number //work进程最大打开的进程数 默认1024 改65535
env var //定义变量
work_connections 1024 //一个work能处理的最大请求 假如之前配置了work_processes 4那么服务总的能接受请求是4*1024。设置为20480 最好比65535低 最多可承受100万个请求数
http {
server
root /path //server的工作目录(可以忽略)
listen *:80 //监听的端口
server_name server.servername.com //服务器名称*.servername.com支持通配符,"~(代表匹配的意思)"有多个server_name时,可以设置默认server。在listen 80 default_server;
location {//区段,通过指定模式来与客户请求的URI相匹配
location {=(精确匹配)|~*(区分大小分)|^~(不区分大小)|@}
location / {
[configuration B]
}
location = / {
//优先级最高
}
location /documents/ {
}
location ^~ /images/{
//第二优先级
}
location ~* \.(gif|jpg|jpg){
//第三优先级
}
stub_status on; //显示连接状态
}
}
root path //表明一个路径
access_log logs/access.log www;
keepalive_timeout 5; //长连接一个请求进来之后,5秒后一定会断开,默认为65
gzip [on | off] //压缩
gzip_comp_level 1;//1等级压缩gzip有9个等级压缩
}
Nginx配置初步