nginx基本配置与参数说明
来源:互联网 发布:南风知我意1七微百度云 编辑:程序博客网 时间:2024/06/10 23:17
# 运行用户
user root
# 启动进程,通常设置成和CPU的数量相等或者2倍于CPU
worker_processes 1;
#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events
{
use epoll;
# 使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
# 补充说明:与apache相类,nginx针对不同的操作系统,有不同的事件模型
# A)标准事件模型
# Select、poll属于标准事件模型,如果当前系统不存在更有效的方法,nginx会选择select或poll
# B)高效事件模型
# Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用双处理器的MacOS X系统使用kqueue可能会造成内核崩溃。
# Epoll:使用于Linux内核2.6版本及以后的系统。
# /dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。
# Eventport:使用于Solaris 10。 为了防止出现内核崩溃的问题, 有必要安装安全补丁。
worker_connections 204800;
# 每个工作进程的最大连接数量。根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为。worker_processes*worker_connections
keepalive_timeout 60;
# keepalive超时时间。
client_header_buffer_size 4k;
# 客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。
# 分页大小可以用命令getconf PAGESIZE 取得。
# [root@web001 ~]# getconf PAGESIZE
# 4096
# 但也有client_header_buffer_size超过4k的情况,但是client_header_buffer_size该值必须设置为“系统分页大小”的整倍数。
open_file_cache max=65535 inactive=60s;
# 这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。
open_file_cache_valid 80s;
# 这个是指多长时间检查一次缓存的有效信息。
open_file_cache_min_uses 1;
# open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。
}
http {
# 设定mime类型,类型由mime.type文件定义
include mime.types;
default_type application/octet-stream;
#设定日志格式
$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local: 用来记录访问时间与时区;
$request: 用来记录请求的url与http协议;
$status: 用来记录请求状态;成功是200,
$body_bytes_sent :记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
$http_user_agent:记录客户浏览器的相关信息;
通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log(放日志的地址) main;
#对于普通应用,必须设置为on
# 如果用来进行下载等应用磁盘IO重负载应用,可设置为off
sendfile on;#高效传输文件模式
# 连接超时时间 s
keepalive_timeout 65;
tcp_nodelay on;
#开启gzip压缩
gzip on;
#设定请求缓冲
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;gzip_disable "MSIE [1-6]."
server{
# 监听80端口
listen 80;
# 定义使用此访问
server_name www.nginx.cn;
# 定义服务器的默认网站根目录位置
root html
# 设定本虚拟主机的访问日志
access_log logs/nginx.access.log main;
# 默认请求
location / {
#定义首页索引文件的名称
index index.php index.html index.htm;
}
# 定义错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
# 静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
# 过期30天,静态文件不怎么更新,过期可以设大一点,
# 如果频繁更新,则可以设置得小一点。
expires 30d;
}
#禁止访问 .htxxx 文件
location ~ /.ht {
deny all;
}
}
}
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- nginx基本配置与参数说明
- Nginx的基本配置与参数说明
- nginx基本配置与参数说明
- ffmpeg安装
- JPA持久化注释和Hibernate
- java中的数据类型
- MySQLSTR_TO_DATE函数
- springboot学习总结系列(一):多环境下(开发环境,生产环境)使用yml 或 properties 配置文件
- nginx基本配置与参数说明
- C# 文件上传 默认最大为4M的解决方法
- 将代码块从一台电脑快速挪到另一台电脑上
- Map函数的学习与理解
- property
- 对象存储oss挂载工具ossfs的使用
- USER_LOGONID_DUP 请检查收款账号是不是自己的签约支付宝账号。 原因及处理
- python中的计时模块:time.time()
- Burp Suite基础教学 之Spider