美文网首页
nginx-生产环境配置

nginx-生产环境配置

作者: 烟雨平生_一蓑烟雨任平生 | 来源:发表于2018-08-13 15:46 被阅读0次
    user nginx;
    
    #工作进程数,建议设置为CPU的总核数
    worker_processes 4;
    
    #全局错误日志定义类型,日志等级从低到高依次为:
    #debug | info | notice | warn | error | crit
    
    error_log /mydata/nginx_log/error.log info;
    
    #记录主进程ID的文件
    pid /mydata/nginx_log/nginx.pid;
    
    #指定进程可以打开的最大描述符数目
    worker_rlimit_nofile 204800;
    
    events {
        use epoll;
        
       #单个进程最大连接数:连接数*进程数 65535
        worker_connections 204800;
    }
    
    #设定http服务器,利用它的反向代理功能提供负载均衡支持
    http {
        #文件扩展名与文件类型映射表
        include /etc/nginx/mime.types;
    
        #默认文件类型
        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;
    
        #为打开文件指定缓存
        open_file_cache max=65535 inactive=60s;
    
        #这个是指多长时间检查一次缓存的有效信息。
        #语法:open_file_cache_valid time 默认值:open_file_cache_valid 60 使用字段:http, server, location 这个指令指定了何时需要检查open_file_cache中缓存项目的有效信息.
        open_file_cache_valid 80s;
    
        #open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。
        #语法:open_file_cache_min_uses number 默认值:open_file_cache_min_uses 1 使用字段:http, server, location  这个指令指定了在open_file_cache指令无效的参数中一定的时间范围内可以使用的最小文
    件数,如果使用更大的值,文件描述符在cache中总是打开状态.
        open_file_cache_min_uses 1;
    
        #语法:open_file_cache_errors on | off 默认值:open_file_cache_errors off 使用字段:http, server, location 这个指令指定是否在搜索一个文件是记录cache错误.
        open_file_cache_errors on;
    
         #日志格式
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"'
                          '$request_body';
    
        #access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
        access_log /mydata/nginx_log/access.log main;
    
        #隐藏ngnix版本号
        server_tokens off;
    
    #sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降
    低系统uptime。
        sendfile on;
    
        #长连接超时时间,单位是秒
        keepalive_timeout 120;
    
        #gzip模块设置
        gzip on; #开启gzip压缩输出
        gzip_min_length 1k;    #最小压缩文件大小
        gzip_buffers 4 16k;    #压缩缓冲区
        gzip_http_version 1.0;    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
        gzip_comp_level 2;    #压缩等级
        gzip_types text/plain application/x-javascript text/css application/xml;    #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
        gzip_vary on;
    
       server {
            listen 80;
            server_name xxxxx;
    
            access_log /mydata/nginx_log/xx.log main;
    
            location / {
                    proxy_pass http://localhost:8080;
                    proxy_set_header Host $host;
                    proxy_redirect off;
                    proxy_set_header   X-Real-IP   $remote_addr;
                    proxy_http_version 1.1;
                    proxy_set_header Connection "";
                    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            }
        }
    
        #php-fpm
        server {
            listen 80;
            server_name xx;
    
            access_log /mydata/nginx_log/xx.log main;
    
            location / {
                root /xx;
                index index.php;
            }
    
            location ~ \.php$ {
                root /xx;
    
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
        }   
    }
    

    相关文章

      网友评论

          本文标题:nginx-生产环境配置

          本文链接:https://www.haomeiwen.com/subject/uwdubftx.html