ini Nginx最佳配置(基本配置)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ini Nginx最佳配置(基本配置)相关的知识,希望对你有一定的参考价值。

user www-data;
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 10000;
worker_shutdown_timeout 30;
pid /run/nginx.pid;

events {
        worker_connections 1024;
        # Для Linux 2.6+ - epool, Для FreeBSD - kqueue
        use epoll;
        multi_accept on;
}

http {

        ##
        # Basic Settings
        ##
        # Удаляем информацию об nginx в headers
        server_tokens off;
        # Метод отправки данных sendfile более эффективен, чем стандартный метод read+write (по умолчанию: off)
        sendfile on;
        # Будет отправлять заголовки и и начало файла в одном пакете (по умолчанию: off)
        tcp_nopush on;
        tcp_nodelay on;
        # Будет ждать 60 секунд перед закрытием keepalive соединения (по умолчанию: 75s)
        keepalive_timeout 60s;
        # Задаёт максимальное число запросов, которые можно сделать по одному keep-alive соединению. После того, как сделано максимальное число запросов, соединение закрывается. (по умолчанию: 100)
        keepalive_requests 500;
        # Разрешает или запрещает сброс соединений по таймауту (по умолчанию: off)
        reset_timedout_connection on;
        # Будет ждать 30 секунд тело запроса от клиента, после чего сбросит соединение (по умолчанию: 60s)
        client_body_timeout 30s;
        # В этом случае сервер не будет принимать запросы размером более 256Мб (по умолчанию: 1m)
        client_max_body_size 256m;
        # Если клиент прекратит чтение ответа, Nginx подождет 30 секунд и сбросит соединение (по умолчанию: 60s)
        send_timeout 30s;
        # Задаёт максимальный размер хэш-таблиц типов (по умолчанию: 1024)
        types_hash_max_size 2048;
        # Задаёт максимальный размер хэш-таблиц имён серверов (по умолчанию: 512)
        server_names_hash_max_size 8192;
        # Задаёт размер корзины в хэш-таблицах имён серверов (по умолчанию: зависит от размера строки кэша процессора)
        server_names_hash_bucket_size 128;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##
        # Разрешает указанные протоколы
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        # Набор шифров, использовался сайт https://mozilla.github.io/server-side-tls/ssl-config-generator/ в режиме Intermediate
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        # Задаем кривую для ECDHE-шифров
        ssl_ecdh_curve prime256v1:secp384r1:secp521r1;
        # Указываем, что при использовании протоколов SSLv3 и TLS серверные шифры были более приоритетны, чем клиентские
        ssl_prefer_server_ciphers on;
        # Указываем файл с параметрами для DHE-шифров
        ssl_dhparam /etc/nginx/ssl/dhparams.pem;
        # Задаём тип (разделяемый) и размеры кэшей для хранения параметров сессий
        ssl_session_cache shared:MAINSSL:10m;
        # Задаёт время, в течение которого клиент может повторно использовать параметры сессии
        ssl_session_timeout 10m;

        ##
        # Logging Settings
        ##
        log_format hosting '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $bytes_sent '
                        '"$http_referer" "$http_user_agent" '
                        '"$gzip_ratio"';
        log_format main '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $bytes_sent '
                        '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$host" $upstream_response_time';
        log_format bytes '$bytes_sent';
        log_format download '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $bytes_sent '
                        '"$http_referer" "$http_user_agent" '
                        '"$http_range" "$sent_http_content_range"';
        log_format postdata '$remote_addr [$time_local] "$request" $status "$request_body" "$http_cookie"';

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##
        # Включаем сжатие gzip (по умолчанию: off)
        gzip on;
        # Устанавливает минимальную HTTP-версию запроса, необходимую для сжатия ответа. (по умолчанию: 1.1)
        gzip_http_version 1.0;
        # Задаёт число и размер буферов, в которые будет сжиматься ответ.
        gzip_buffers 64 8k;
        # Устанавливает степень сжатия ответа методом gzip. Более 5 лучше не ставить, т.к. будет повышеная нагрузка на CPU, а уровень сжатия изменится незначительно.
        gzip_comp_level 5;
        # Минимальная длина файла, которую нужно сжимать
        gzip_min_length 512;
        # MIME-типы файлов в дополнение к text/html, которые нужно сжимать
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
        # Для IE6 отключить
        gzip_disable msie6;
        # Cжатие для всех проксированных запросов (для работы NGINX+Apache)(по умолчанию: off)
        gzip_proxied any;

        ##
        # nginx fastcgi config
        ##
        # Задаёт размер буфера, в который будет читаться первая часть ответа, получаемого от FastCGI-сервера (по умолчанию: 4k или 8k)
        fastcgi_buffer_size 128k;
        # Задаёт число и размер буферов для одного соединения, в которые будет читаться ответ, получаемый от FastCGI-сервера(по умолчанию: 8 и 4k или 8k)
        fastcgi_buffers 4 256k;
        # При включённой буферизации ответов FastCGI-сервера, ограничивает суммарный размер буферов, которые могут быть заняты для отправки ответа клиенту, пока ответ ещё не прочитан целиком (по умолчанию 8k|16k размер ограничен двумя буферами, заданными директивами fastcgi_buffer_size и fastcgi_buffers)
        fastcgi_busy_buffers_size 256k;
        # Задаёт таймаут при чтении ответа FastCGI-сервера (по умолчанию: 60s)
        fastcgi_read_timeout 120s;

        ## Detect when HTTPS is used
        map $scheme $fastcgi_https {
          default off;
          https on;
        }

        ##
        # Virtual Host Configs
        ##
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

以上是关于ini Nginx最佳配置(基本配置)的主要内容,如果未能解决你的问题,请参考以下文章

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur

ini 最佳nginx配置,可提高安全性(和性能)。完整的博客文章http://tautt.com/best-nginx-configuration-for-secur