• nginx配置文件参数解释


    配置选项说明

    user www www; #运行用户和所属组
    worker_processes 8; #启动进程,通常设置成和cpu数量相同,最多不要超过8个
    worker_cpu_affinity 00000001 00000010 00000100 00001000
    00010000 00100000 01000000 10000000;
    error_log /www/log/Nginx_error.log crit; #全局错误日志存放地址
    pid /usr/local/Nginx/Nginx.pid; #pid存放地址
    worker_rlimit_nofile 204800; #最大并发连接数
    #工作模式及连接数上限
    events
    {
    use epoll; #epoll是多路复用IO中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx性能
    worker_connections 204800; #单个后台worker process进程的最大并发数
    }
    #设定http服务器
    http
    {
    include mime.types; #设定mime类型,类型由mime.type文件定义
    default_type application/octet-stream;
    charset utf-8; #默认字体
    server_names_hash_bucket_size 128;
    client_header_buffer_size 2k;
    large_client_header_buffers 4 4k;
    client_max_body_size 8m;
    sendfile on; #sendfile指令指定nginx是否调用sendfile函数(zero copy 方式)来输出文件,对于普通应用
    tcp_nopush on;#当包累计到一定大小后就发送 而tcp_nodelay则是按时间端来发送,比如累计以0.2秒后发送包
    keepalive_timeout 60; #连接超时时间

    fastcgi_cache_path /usr/local/Nginx/fastcgi_cache levels=1:2
    keys_zone=TEST:10m
    inactive=5m; #缓存路径文件,目录结构等级,关键字区域实际和非活动时间
    fastcgi_connect_timeout 300;#连接到后端fastcgi超时时间
    fastcgi_send_timeout 300; #向fastcgi请求超时时间(这个指定值已经完成两次握手后向fastcgi传送请求的超时时间)
    fastcgi_read_timeout 300; #接收fastcgi应答超时时间,同理也是二次握手后
    fastcgi_buffer_size 4k; #读取fastcgi应答第一部分需要多大缓冲区,该值表示使用一个4kb的缓冲去读取应答第一部分,可以设置为fastcgi_buffers选项缓冲区大小
    fastcgi_buffers 8 4k; #指定本地需要消耗多少和多大的缓冲区来缓冲fastcgi应答请求,假设一个php或java脚本产生页面大小为256kb,
    #那么会为其分配4个64kb的缓冲来缓存;若页面大于256kb,那么大于256kb的部分会缓存到fastcgi_temp指定路径中,这并不是个好办法
    #内存处理数据快于硬盘,一般该值应该为站点中php/java脚本所产生页面大小中间值,如果站点大部分脚本所产生的页面大小为256kb,
    #那么可把值设置为16 16k,4 64k等
    fastcgi_busy_buffers_size 8k;#默认值为fastcgi_buffer两倍
    fastcgi_temp_file_write_size 8k; #写入缓存文件使用多大的数据块,默认值是fastcgi_buffer的2倍
    fastcgi_cache TEST; #开启fastcgi缓存并为其制定为TEST名称,降低CPU负载,防止502错误发生
    fastcgi_cache_valid 200 302 1h; #应答代码缓存时间,200何302应答缓存为1小时,301为1天,其他1分钟
    fastcgi_cache_valid 301 1d;
    fastcgi_cache_valid any 1m;

    fastcgi_cache_min_uses 1; #缓存在fastcgi_cache_path指令inactive参数时间内的最少使用数,如上:在5分钟内某文件一次也没被使用,那么这个文件被删除
    fastcgi_cache_use_stale error timeout invalid_header http_500;
    open_file_cache max=204800 inactive=20s; #这个将为打开文件指定缓存,默认是没有启用,max指定缓存数量,建议和打开文件一致,
    #inactive是指经过多长时间文件没被请求后删除缓存
    open_file_cache_min_uses 1;
    open_file_cache_valid 30s; #指多长时间检查一次缓存的有效信息
    tcp_nodelay on;


    gzip on;#开启gzip亚索
    gzip_min_length 1k;# 允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取
    gzip_buffers 4 16k; #设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。如4 16k代表以16k为单位,按照原始数据大小以16k
    #为单位的4倍申请内存,如果没有设置,默认值时申请原始数据相同大小的内存空间去存储gzip压缩结果
    gzip_http_version 1.0; #识别http的协议版本
    gzip_comp_level 2; #gzip压缩比,1压缩比最小处理速度最快,9压缩比最大处理最慢(传输快但比较消耗cpu)
    gzip_types text/plain application/x-javascript text/css application/xml;#匹配mime类型进行压缩(无论是否指定)“text/html”类型总是会被压缩
    #如果想让图片也可以压缩:application/x-httpd-php image/jpeg image/gif image/png
    gzip_vary on;
    gzip_static on:#该模块可以读取预先压缩的gz文件,这样可以减少每次请求gzip压缩的cpu资源消耗,该模块启用后,nginx首先检查是否存在请求静态
    #文件的gz结尾的文件,如果有则直接返回改gz文件内容

    #虚拟主机配置
    server
    {
    #监听端口
    listen 8080;
    server_name backup.aiju.com;#域名可以有多个,用空格隔开
    index index.php index.htm;
    root /www/html/;
    location /status
    {
    stub_status on;
    }
    location ~ .*.(php|php5)?$
    {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fcgi.conf;
    }
    #图片缓存时间
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
    expires 30d;
    }
    #日志格式设定
    log_format access '$remote_addr - $remote_user
    [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for';
    access_log /www/log/access.log access;
    }
    }
    #对 "/" 启用反向代理
    location / {
    proxy_pass http://127.0.0.1:88;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #以下是一些反向代理的配置,可选。
    proxy_set_header Host $host;
    client_max_body_size 10m; #允许客户端请求的最大单文件字节数
    client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
    proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
    proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 64k;
    #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }

    #设定查看Nginx状态的地址
    location /NginxStatus {
    stub_status on;
    access_log on;
    auth_basic "NginxStatus";
    auth_basic_user_file conf/htpasswd;
    #htpasswd文件的内容可以用apache提供的htpasswd工具来产生。
    }

    #本地动静分离反向代理配置
    #所有jsp的页面均交由tomcat或resin处理
    location ~ .(jsp|jspx|do)?$ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080;
    }
    #所有静态文件由nginx直接读取不经过tomcat或resin
    location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
    { expires 15d; }
    location ~ .*.(js|css)?$
    { expires 1h; }
    }
    }

    生产配置

    后续贴出来

  • 相关阅读:
    Writing a progress/status report
    五月
    MEGVII 旷视 Brain++ 平台;天元MegEngine 平台简要分析
    地平线4闪退解决办法;地平线4一启动闪退;Forza Horizon 4 won't start
    [已解决]Adobe Reader中禁用“保存更改”对话框;Adobe pdf 要在关闭前保存更改; 另存为;
    想写点新的东西
    IO测试工具:vdbench
    CUDA 线程ID 计算方式;NVIDIA GPGPU;
    csgo 黑屏闪退,解决方法;
    Simulator 和 Emulator 的相同和不同;
  • 原文地址:https://www.cnblogs.com/qinghe123/p/8127060.html
Copyright © 2020-2023  润新知