• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь F5 и wordpress

huyteo

Создатель
Регистрация
28 Апр 2015
Сообщения
55
Реакции
21
Доброго времени суток!
Собственно интересует вопрос как избавиться от зажатия f5 на wordpress, при зажатии переполняется оперативная память и падает mysql. Собственно избавился от этого с помощью redis, но на админ панель это не действует и зарегистрированного пользователя. Как избавиться от этой проблемы, не хотелось бы чтобы какой то дурачёк так ложил сайт. Заранее спасибо.
 
Это пусть будет как наказание пользователю, который зажимает F5.
Вы точно добавили зону в location php? Так как в противном случае каждый запрос в получении css/js будет считаться в ту же секунду и возможно некоторые css/js будут заблокированы Nginx`ом.
Добавьте часовое кэширование (если нет )
expires 1h;
И включите gzip on;
 
Это пусть будет как наказание пользователю, который зажимает F5.
Вы точно добавили зону в location php? Так как в противном случае каждый запрос в получении css/js будет считаться в ту же секунду и возможно некоторые css/js будут заблокированы Nginx`ом.
Добавьте часовое кэширование (если нет )
expires 1h;
И включите gzip on;

Ну вообщем сделал чтобы при зажатии вывод ошибки 403 "limit_req_status 403;".
Интересует оптимальная настройка для
zone=one:10m rate=5r/s;
burst=30 nodelay;

Я только учусь. Но думаю раз всё робит значит туда вставил)

Мой nginx.conf
user www-data;
worker_processes auto;
worker_rlimit_nofile 100000;
pid /run/nginx.pid;

events {
worker_connections 4096;
multi_accept on;
}

http {
##
# Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;

server_tokens off;
reset_timedout_connection on;
add_header X-Powered-By "huyteo";
add_header rt-Fastcgi-Cache $upstream_cache_status;

# Limit Request
limit_req_status 403;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
limit_req zone=one burst=30 nodelay;

# Proxy Settings
# set_real_ip_from proxy-server-ip;
# real_ip_header X-Forwarded-For;

fastcgi_read_timeout 300;
client_max_body_size 100m;

##
# SSL Settings
##

ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
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:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-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_protocols TLSv1 TLSv1.1 TLSv1.2;

##
# Basic Settings
##
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

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

##
# Logging Settings
##

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

# Log format Settings
log_format rt_cache '$remote_addr $upstream_response_time $upstream_cache_status [$time_local] '
'$http_host "$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
text/css
text/plain
text/x-component
text/xml
text/javascript;

##
# Virtual Host Configs
##

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

# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
 
Нет, уберите limit_req zone=one burst=30 nodelay;

Откройте /etc/nginx/sites-enabled/вашСайт

вашСайт - там будет конфиг сайта.

Найдите в этом файле похожее на:
Код:
location .php {
limit_req zone=one burst=30 nodelay;
...
}
и добавьте в начале limit_req zone=one burst=30 nodelay;
 
server {


server_name .....ru Для просмотра ссылки Войди или Зарегистрируйся


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


root /var/www/.......ru/htdocs;



index index.php index.html index.htm;


include common/wpfc-php7.conf;

include common/wpcommon-php7.conf;
include common/locations-php7.conf;
include /var/www/exwor.ru/conf/nginx/*.conf;


}

В нём Вот такая конфигурация.
 
Последнее редактирование:
Спасибо вам. Щас буду искать.
location ~ [^/]\.php(/|$) {
limit_req zone=one burst=10;
...
}

Это вообщем вставить в php location

А

# Limit Request
limit_req_status 403;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;

можно оставить в nginx.conf так?
 
Спасибо вам. Щас буду искать.
location ~ [^/]\.php(/|$) {
limit_req zone=one burst=10;
...
}

Это вообщем вставить в php location

А

# Limit Request
limit_req_status 403;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;

можно оставить в nginx.conf так?

Да верно, чтобы лимиты распространялись только на исполняющие .php файлы.
 
Вообщем нашёл в /etc/nginx/common/wpcommon-php7.conf
там уже есть на wp-login.php

location = /wp-login.php {
limit_req zone=one burst=1 nodelay;
include fastcgi_params;
fastcgi_pass php7;
}


Собственно при смене на ваш location сайт недоступен, пробывал вот так

location ~ \.php$ {
location ~* wp\-login\.php {
limit_req zone=one burst=1 nodelay;
include fastcgi_params;
fastcgi_pass php7;

}
#other rules
}

Тоже ноль эмоций.
 
В других файлах идут другие location, а именно отвечающий за burst этот wpcommon.conf
щас стоит
location = /wp-login.php {
limit_req zone=one burst=1 nodelay;
include fastcgi_params;
fastcgi_pass php;
}

на wp-login.php работает
как сделать чтобы не только на вход , но на все исполняемые php.
Как только не перепробывал не пашет.
 
Назад
Сверху