Прошу прощения, особенности почтового клиента.

Конфиг такой:

user www-data;
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65000;
pid /var/run/nginx.pid;

events
{
    worker_connections 10000;
    multi_accept off;
}

http
{
    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 10;
    types_hash_max_size 2048;
    server_tokens on;

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

    client_body_timeout 60;
    client_header_timeout 60;
    send_timeout 60;
    reset_timedout_connection on;

    ##
    # Logging Settings
    ##

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

    #
    # Caching FS
    #
    open_file_cache max=10000;
    open_file_cache_errors on;


    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/octet-stream;

    ##
    # Maps
    ##
    map $status $status_error
    {
            "~*^(1|2|3)"      0;
            default         1;
    }

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

И пример конфига виртуальных хостов для nodejs и php:
upstream nodejs_backend
{
    ip_hash;
    keepalive 32;
    server server1:4201 weight=1;
    server server2:4201 weight=3;
}


log_format file_c escape=json '{"HOST":"$host","LOCATION":"$location","IP":"$remote_addr","PROJECT":"nodejs_backend","HTTP_STATUS":"$status","RESPONSE_TIME":"$request_time","UPSTREAM_CONNECT_TIME":"$upstream_connect_time","UPSTREAM_RESPONSE_TIME":"$upstream_response_time","REQUEST_METHOD":"$request_method","REQUEST_FILE":"$uri","ARGS":"$args","BYTES_SENT":"$bytes_sent","USER_AGENT":"$http_user_agent","HTTP_REFERER":"$http_referer","ENVIRONMENT":"production","AKAMAI_IP":"$http_true_client_ip","HEADER_ACCEPT":"$http_accept","HEADER_ACCEPT_LANGUAGE":"$http_accept_language","HEADER_CONTENT_LANGUAGE":"$http_content_language","HEADER_CONTENT_TYPE":"$http_content_type","BODY":"$request_body"}';

server
{
    listen [::]:80;
    listen 80;
    # SSL
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    ssl_certificate /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;

    server_name nodejs_domain;
    root /var/www/nodejs_domain/docroot;

    ###Logs
    # Local logs
    access_log /var/log/nginx/nodejs_domain_access.log file_nodejs_backend if=$status_error;
    error_log /var/log/nginx/nodejs_domain_error.log;


    location = /robots.txt
    {
        set $location "robots";
        return 200 "User-agent: *\nDisallow: /\n";
    }

    location = /https:/nodejs_domain
    {
        set $location "ssl_checker";
        return 200 "for ssl checker\n";
    }

    location ~ /\.(git|svn|hg)
    {
            deny all;
    }

    location /
    {
        try_files /bpcZzfcaG82kpcm9Xxic8hWJ89YjqrJCRihmHGGmBqFnU6gV @backend;
    }

    location @backend
    {
        set $location "nodejs";
        proxy_pass http://nodejs_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_read_timeout 10s;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /.well-known
    {
        set $location "well-known";
        root   /usr/share/nginx/html;
    }
}

пример конфига для php:

upstream php_backend
{
    ip_hash;
    server server6:4301 weight=1;
}


log_format file_php_domain escape=json '{"HOST":"$host","LOCATION":"$location","IP":"$remote_addr","PROJECT":"php_backend","HTTP_STATUS":"$status","RESPONSE_TIME":"$request_time","UPSTREAM_CONNECT_TIME":"$upstream_connect_time","UPSTREAM_RESPONSE_TIME":"$upstream_response_time","REQUEST_METHOD":"$request_method","REQUEST_FILE":"$uri","ARGS":"$args","BYTES_SENT":"$bytes_sent","USER_AGENT":"$http_user_agent","HTTP_REFERER":"$http_referer","ENVIRONMENT":"production","AKAMAI_IP":"$http_true_client_ip","HEADER_ACCEPT":"$http_accept","HEADER_ACCEPT_LANGUAGE":"$http_accept_language","HEADER_CONTENT_LANGUAGE":"$http_content_language","HEADER_CONTENT_TYPE":"$http_content_type","BODY":"$request_body"}';

server
{
    listen [::]:80;
    listen 80;
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    ssl_certificate /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;

    server_name php_domain;
    root /var/www/php_domain/docroot;

    access_log /var/log/nginx/php_domain_access.log file_php_domain if=$status_error;
    error_log /var/log/nginx/php_domain_error.log;


    location = /robots.txt
    {
        set $location "robots";
        return 200 "User-agent: *\nDisallow: /\n";
    }

    location = /https:/php_domain
    {
        set $location "ssl_checker";
        return 200 "for ssl checker\n";
    }

    location ~ /\.(git|svn|hg)
    {
            deny all;
    }

    location ~* ^/.*\.php$
    {
        try_files /DsHs5OrKH8nAkZAYQVbWqwWN1kQmRC9rISzowfDiHPOJqJT3 @backend;
    }

    location /
    {
        index index.html index.php;
        set $location "default";
    }

    location ~* ^/.*\.html$
    {
        set $location "html";
        add_header P3P 'policyref="../../../common/site/p3p.xml", CP="NOI CURa ADMa DEVa TAIa"';
        expires epoch;
    }

    location ~* ^/.*\.(eot|webp|plist|png|jpg|jpeg|ttf|otf|woff|woff2|mp3|ogg|swf|js|json|atlas)$
    {
        set $location "static";
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Expose-Headers "Date";
        expires max;
    }

    location ~* ^/.*\.(css|gif|ico|mpeg|mpg|mp4|svg)$
    {
        set $location "static";
        expires max;
    }

    location @backend
    {
        set $location "php";

        fastcgi_pass php_backend;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_connect_timeout 10s;
        fastcgi_read_timeout 10s;
        fastcgi_send_timeout 10s;
        fastcgi_param X_HOST $remote_addr;
        fastcgi_param SCRIPT_FILENAME /docroot$fastcgi_script_name;
    }

    location = /main/site/index.html
    {
        set $location "index";
        add_header P3P 'policyref="../../../common/site/p3p.xml", CP="NOI CURa ADMa DEVa TAIa"';
        expires epoch;
    }

    location /.well-known
    {
        set $location "well-known";
        root   /usr/share/nginx/html;
    }
}

Остальные виртуальные хосты либо похожие либо чуть отличаются.

On 27/08/2019 16:17, Maxim Dounin wrote:
Hello!

On Tue, Aug 27, 2019 at 04:10:31PM +0500, Dmitry Sergeev wrote:

Добрый день. Спасибо за ответ!
Пожалуйста.  Не надо отвечать мне лично, от этого карма портится.
Спасибо.

На сервере всего 64GB памяти, nginx кушает обычно около 2GB при релоадет
не сильно больше - 2-3GB, swap не задействуется. Свободно памяти обычно
больше 60GB.

Сейчас протестил. При релоаде съедает весь проц ровно 35-40 секунд.
Провел около 10 тестов, время всегда примерно такое.
Значит проблема не в памяти, а в чём-то ещё.  Что в конфиге?

--
Kind regards
Dmitry Sergeev
Tel: +7 (951) 129-75-72

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить