美文网首页
nginx配置例子

nginx配置例子

作者: MccReeee | 来源:发表于2019-02-02 19:26 被阅读3次
    user mccree;
    pid /run/nginx.pid;
    #提供web服务时的worker进程数 grep ^processor /proc/cpuinfo | wc -l
    worker_processes  auto;
    
    events {
        #使用epoll事件模型,处理效率高
        use epoll;
        #worker进程同时接受多个请求链接 默认是on,设置为on后,多个worker按串行方式来
    处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,>多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完
    毕,没有取得连接的继续休眠。当你的服务器连接数不多时,开启这个参数会让负载有一定
    的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。
        multi_accept on;
        #设置可由一个worker进程同时打开的最大连接数,这个数值一般根据服务器性能和内存
    来制定,实际最大值就是worker进程数乘以work_connections
        worker_connections 10000;
    }
    
    
    http {
        # 媒体类型,include 只是一个在当前文件中包含另一个文件内容的指令
        include       /etc/nginx/mime.types;
        # 默认媒体类型足够
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /export/log/nginx/access.log  main;
    
        #tls secure config
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
        ssl_prefer_server_ciphers on;
        ssl_dhparam /etc/ssl/private/dhparams.pem;
    
        #使用sendfile拷贝数据(不经过用户态) 开启高效文件传输模式,sendfile指令指定
    nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用
    磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意
    :如果图片显示不正常把这个改成off
        sendfile       on;
        #在一个数据包里发送所有头文件 必须在sendfile开启模式才有效,防止网路阻塞,积
    极的减少网络报文段的数量(将响应头和正文的开始部分一起发送,而不一个接一个的发送
    。)
        tcp_nopush     on;
        #不缓存数据,一段一段的发送(关闭 Nagle 算法)
    search hit TOP, continuing at BOTTOM
        #设置可由一个worker进程同时打开的最大连接数,这个数值一般根据服务器性能和内存
    user mccree;
        # 开启压缩功能
        gzip on;
        # 设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取,
    默认值是0,不管页面多大都进行压缩,建议设置成大于1K,如果小与1K可能会越压越大
        gzip_min_length 1k;
        # 压缩缓冲区大小,表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请
    与原始数据大小相同的内存空间来存储gzip压缩结果
        gzip_buffers 4 16k;
        # 压缩版本,用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可
        gzip_http_version 1.0;
        gzip_disable "MSIE [1-6].";
        gzip_proxied any;
        # 压缩比例,用来指定GZIP压缩比,1压缩比最小,处理速度最快,9压缩比最大,传输
    速度快,但是处理慢,也比较消耗CPU资源
        gzip_comp_level 4;
        # 用来指定压缩的类型,‘text/html’类型总是会被压缩。
        gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/jpg image/gif image/png;
        # aryheader支持,改选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过nginx压缩的数据
        gzip_vary on;
    
        # Load config files from the /etc/nginx/conf.d directory
        # The default server is in conf.d/default.conf
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen     80;
            #root
            autoindex on;
           location / {
                add_header Access-Control-Allow-Origin *;
            }
        }
    
        server {
            listen       443;
            server_name  localhost;
            
            location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm;
                add_header Access-Control-Allow-Origin *;
            }
            ssl                  on;
            #配置证书位置
            ssl_certificate     /home/mccree/Documents/Certificate/server.crt;
            #配置证书密钥
            ssl_certificate_key  /home/mccree/Documents/Certificate/server.key;
    
           # ssl_client_certificate ca.crt;
           # ssl_verify_client on;
    
            ssl_session_timeout  5m;
            ssl_protocols  SSLv2 SSLv3 TLSv1;
            ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
            ssl_prefer_server_ciphers   on;
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:nginx配置例子

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