Skip to content
sanyecao edited this page Oct 8, 2021 · 7 revisions

这里附上nginx.conf的配置,使用时可将其放到一个单独文件目录中,启动时修改对应命令的文件路径即可。更多配置可参考官方文档:http://nginx.org/en/docs/

nginx.conf

#工作进程:根据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;
}
Clone this wiki locally