Сразу скажу, у меня опыта еще не особо много в настройке сервера, чуть больше недели... Но, по мне так в нем. Ну где-то 7к трафик, онлайн бывает 40 человек. Большая часть памяти уходит под дисковый кеш и пока эти 40 человек качаю она не освобождается, ведь так? Я думаю так, а какой нибудь mysql или чему-то еще, нужна память и тут начинается использование свапа.
Вот я тоже так думал, что все вроде норм, занято не много памяти, но как начинаю увеличивать параметры в конфигах начинается использование свапа, а это ведь не есть гуд. А текущие настройки не подходят для нагруженного сайта, серв виснет и перезагружается. Если я правильно понял, nginx перед тем как отдать файл пользователю, отправляет его с начало в память (кеш), а потом отдает уже. Я же хочу, что бы при отдачи 1 файла выделялась, допустим, 5Mb памяти под это дело, а не размер файла + ~30%.
Я выше уже цитировал и давал ссылку на похожую ситуацию, но вот процитирую полность последний пост:
Вот я тоже так хочу сделать... Но ток у меня почему то эти директивы не работают.---------- Добавлено 28.01.2015 в 22:28 ----------И еще, меня кеш не смущает, а вот свап очень =)
Сделал так:
location / { proxy_pass http://ip:8080; } location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|tar|tgz|gz|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mp4|mpeg|mpg|wmv|dmg|zip|rar|swf|msi|exe)$ { # проверяю directio 512k; output_buffers 1 256k; root /home/user/web/сайт.ru/public_html; access_log /var/log/apache2/domains/сайт.log combined; access_log /var/log/apache2/domains/сайт.ru.bytes bytes; expires max; try_files $uri @fallback; }
Но не помогло, память уходит, вот пример:
total used free shared buffers cached Mem: 2061288 1519664 541624 0 10600 1344288 -/+ buffers/cache: 164776 1896512 Swap: 522236 0 522236 роот:~$ free total used free shared buffers cached Mem: 2061288 1667984 393304 0 10608 1489052 -/+ buffers/cache: 168324 1892964 Swap: 522236 0 522236 роот:~$ free total used free shared buffers cached Mem: 2061288 1766448 294840 0 10620 1583484 -/+ buffers/cache: 172344 1888944 Swap: 522236 0 522236 роот:~$ free total used free shared buffers cached Mem: 2061288 1517160 544128 0 10688 1340244 -/+ buffers/cache: 166228 1895060 Swap: 522236 0 522236
Нет, не забыл, с этим у меня проблем нет=)
Вот кфг:
nginx.conf
# Server globals user www-data; worker_processes 1; worker_priority -5; error_log /var/log/nginx/error.log error; pid /var/run/nginx.pid; # Worker config events { worker_connections 2048; use epoll; } http { # Main settings sendfile on; tcp_nopush on; tcp_nodelay on; client_header_buffer_size 1k; client_body_buffer_size 2k; client_max_body_size 500m; large_client_header_buffers 4 8k; send_timeout 10; keepalive_timeout 20 20; reset_timedout_connection on; server_tokens off; server_name_in_redirect off; server_names_hash_max_size 512; server_names_hash_bucket_size 512; open_file_cache max=20000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors off; # Log format log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format bytes '$body_bytes_sent'; #access_log /var/log/nginx/access.log main; access_log off; # Mime settings include /etc/nginx/mime.types; default_type application/octet-stream; # Compression gzip on; gzip_comp_level 6; gzip_min_length 1024; gzip_buffers 64 8k; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; gzip_proxied any; # Proxy settings proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass_header Set-Cookie; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k; # SSL PCI Compliance ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE..."; # Error pages error_page 403 /error/403.html; error_page 404 /error/404.html; error_page 502 503 504 /error/50x.html; # Cache proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=128m; proxy_cache_key "$host$request_uri $cookie_user"; proxy_temp_path /var/cache/nginx/temp; proxy_ignore_headers Expires Cache-Control; proxy_cache_use_stale error timeout invalid_header http_502; proxy_cache_valid any 3d; map $http_cookie $no_cache { default 0; ~SESS 1; ~wordpress_logged_in 1; } # Wildcard include include /etc/nginx/conf.d/*.conf; }
Конфиг виртуального сервера
server { listen ip:80; server_name сайт.ru www.сайт.ru; error_log /var/log/apache2/domains/сайт.ru.error.log error; location / { proxy_pass http://ip:8080; location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|tar|tgz|gz|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mp4|mpeg|mpg|wmv|dmg|zip|rar|swf|msi|exe)$ { # проверяю directio 512k; output_buffers 1 256k; root /home/user/web/сайт.ru/public_html; access_log /var/log/apache2/domains/сайт.log combined; access_log /var/log/apache2/domains/сайт.ru.bytes bytes; expires max; try_files $uri @fallback; } } location /error/ { alias /home/user/web/сайт.ru/document_errors/; } location @fallback { proxy_pass http://ip:8080; } location ~ /\.ht {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} include /home/user/conf/web/nginx.сайт.ru.conf*; }
Сори что не в тему, но скиньте пожалуйста ребят мне в лс ссылки хостигов которыми вы пользуетесь (которые не будут ругаться за инсталмонстр). А то у меня хост лег с 3 чесов ночи по мск =(( Ведать настало время сменить хостинг...
А как понять с открытым кодом? То есть, просто на сайт подключёны стандартным вариантом?
Хорошо, я сейчас в поддержку напишу, по поводу бана антивирусом аваст...
PS: 2 сайта в бане, первый сайт в пп с 2013-06-24, второй с 2013-10-10, на сайтах установлен код пп универсальный. ПП не менялась.
Причина попадания в бан аваста не выяснил пока =)
Если просто снять код результата же не будет? нужно будет писать в тех.поддержку ав?
окей. А какие права рекомендуется ставить на фалы модуля/кода?
А если у меня припаркован домен, или это не имеет значения?
На всякий случай,перезалью код...
У меня как то так:
У одного спм в среднем ~1500
а у другого все как-то меньше и меньше становиться =(