nginx-生产环境配置

2018-08-13  本文已影响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;
        }
    }   
}
上一篇下一篇

猜你喜欢

热点阅读