-
Notifications
You must be signed in to change notification settings - Fork 27
Home
sanyecao edited this page Oct 8, 2021
·
7 revisions
这里附上nginx.conf的配置,使用时可将其放到一个单独文件目录中,启动时修改对应命令的文件路径即可。更多配置可参考官方文档:http://nginx.org/en/docs/
#工作进程:根据CPU核数以及机器实际部署项目来定,建议小于等于实际可使用CPU核数
worker_processes 2;
#绑核:MacOS不支持。
#worker_cpu_affinity 01 10;
#工作进程可打开的最大文件描述符数量,建议65535
worker_rlimit_nofile 65535;
#日志:路径与打印级别
error_log logs/error.log error;
events {
#指定处理连接的方法,可以不设置,默认会根据平台选最高效的方法,比如Linux是epoll
#use epoll;
#一个工作进程的最大连接数:默认512,建议小于等于worker_rlimit_nofile
worker_connections 65535;
#工作进程接受请求互斥,默认值off,如果流量较低,可以设置为on
#accept_mutex off;
#accept_mutex_delay 50ms;
}
http {
#引入文件类型
#include mime.types;
#关闭非延时设置
tcp_nodelay off;
#优化文件传输效率
sendfile on;
#降低网络堵塞
tcp_nopush on;
#与客户端使用短连接
keepalive_timeout 0;
#与下游服务使用长连接,指定HTTP协议版本,并清除header中的Connection,默认是close
proxy_http_version 1.1;
proxy_set_header Connection "";
#将客户端IP放在header里传给下游,不然下游获取不到客户端真实IP
proxy_set_header X-Real-IP $remote_addr;
#与下游服务的连接建立超时时间
proxy_connect_timeout 500ms;
#向下游服务发送数据超时时间
proxy_send_timeout 500ms;
#从下游服务拿到响应结果的超时时间(可以简单理解成Nginx多长时间内,拿不到响应结果,就算超时),这个根据每个接口的响应性能不同,可以在每个location单独设置
proxy_read_timeout 3000ms;
#开启响应结果的压缩
gzip on;
#压缩的最小长度,小于该配置的不压缩
gzip_min_length 1k;
#执行压缩的缓存区数量以及大小,可以使用默认配置,根据平台自动变化
#gzip_buffers 4 8k;
#执行压缩的HTTP请求的最低协议版本,可以不设置,默认就是1.1
#gzip_http_version 1.1;
#哪些响应类型,会执行压缩,如果静态资源放到CDN了,那这里只要配置文本和html即可
gzip_types text/plain;
#acccess_log的日志格式
log_format access '$remote_addr - $remote_user [$time_local] "$request" $status '
'"$upstream_addr" "$upstream_status" "$upstream_response_time" userId:"$user_id"';
#加载lua文件(换成文件的实际绝对路径)
lua_package_path "/Users/~/Documents/seckillproject/demo-nginx/lua/?.lua;;";
#导入其他文件(换成文件的实际绝对路径)
include /Users/~/Documents/seckillproject/demo-nginx/domain/domain.com;
include /Users/~/Documents/seckillproject/demo-nginx/domain/internal.com;
include /Users/~/Documents/seckillproject/demo-nginx/config/upstream.conf;
include /Users/~/Documents/seckillproject/demo-nginx/config/common.conf;
}