Ну обычная 404 страница будет только с текстом "Page not found"
А при обращении к wordpress, идёт поиск страницы, прогрузка всех плагинов. Излишняя нагрузка.
Таких обращений бывает в секунду по 100 штук, когда пытаются wordpress хакнуть.
Предположу что вы ищите try_files
Предположу что ваш конфиг должен быть примерно таким
Спасибо, но не работает.
Вот мой конфиг:
server { listen 1.1.1.1:80; server_name test.com.com www.test.com.com; root /home/admin/web/test.com.com/public_html; index index.php index.html index.htm; access_log /var/log/nginx/domains/test.com.com.log combined; access_log /var/log/nginx/domains/test.com.com.bytes bytes; error_log /var/log/nginx/domains/test.com.com.error.log error;# expires 1d;# add_header Pragma "public";#fastcgi_read_timeout 300;#fastcgi_buffers 8 256k;#fastcgi_buffer_size 128k;#fastcgi_intercept_errors on;#include fastcgi_params; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; }# location /xmlrpc.php {# include /etc/nginx/conf.d/allowip.inc*;# deny all;# }# location /wp-admin/ {# try_files $uri $uri/ /index.php?$args;# fastcgi_pass 127.0.0.1:9007;# fastcgi_index index.php;# include fastcgi_params;# fastcgi_param SCRIPT_FILENAME $request_filename;# location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {# expires max;# }# include /etc/nginx/conf.d/allowip.inc*;# deny all;#} location /wp-login.php { include /etc/nginx/conf.d/allowip.inc*; deny all; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_pass 127.0.0.1:9007; fastcgi_index wp-login.php; include /etc/nginx/fastcgi_params; } location / { include /etc/nginx/blockbyhostname.conf;add_header X-Robots-Tag "index, follow"; try_files $uri $uri/ /index.php?$args;rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last; location ~ \.(js|css|png|jpg|jpeg|gif|ico|html|woff|woff2|ttf|svg|eot|otf)$ { add_header "Access-Control-Allow-Origin" "*"; expires 1M; access_log off; add_header Cache-Control "public"; } location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { expires max; } location ~ [^/]\.php(/|$) {# location ~ \wp-login.php$ {# include /etc/nginx/conf.d/allowip.inc*;# deny all; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; if (!-f $document_root$fastcgi_script_name) { return 404; } if ($allowed_country = no) { return 444; }#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)"){#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"){# return 403;# }#if ($http_user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36"){# return 403;# } # Access deny for bots # See bots list in the /etc/nginx/nginx.conf if ($limit_bots = 1) { return 444; } fastcgi_pass 127.0.0.1:9007; fastcgi_index index.php; include /etc/nginx/fastcgi_params; } }#} error_page 403 /error/404.html;# error_page 404 /error/404.html;error_page 404 @foobar;location @foobar { rewrite .* / permanent; } error_page 500 502 503 504 /error/50x.html; location /error/ { alias /home/admin/web/test.com.com/document_errors/; } location ~* "/\.(htaccess|htpasswd)$" { deny all; return 404; } location /vstats/ { alias /home/admin/web/test.com.com/stats/; include /home/admin/conf/web/test.com.com.auth*; }location /mega { alias /home/admin/web/mega/; location ~ ^/mega/(.*\.php)$ { alias /home/admin/web/mega/$1; fastcgi_pass 127.0.0.1:9007; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; } location ~* ^/mega/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { alias /home/admin/web/mega/$1; }}# include /etc/nginx/conf.d/mega.inc*; include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; include /etc/nginx/conf.d/webmail.inc*; include /home/admin/conf/web/nginx.test.com.com.conf*;}
Возможно надо с проблемой сайта разбираться, почему он поглощает память и что там за скрипты работают. Возможно какая-то кривая доработка просто вешает всё.
Спасибо, буду смотреть.
Ну допустим ваш конфиг... проблема то в чём?
Я вот пару дней назад плагин переписывал для форума платный, который занимается подбором "Похожие топики", он был написан с RLIKE запросами. У человека выделенный сервер нагружался от БД когда боты приходили. Я переписал на FULLINDEX запросы и ЧУДО чудное, нагрузка упала в 0 в прямом смысле слова. Теперь клиент не знает чем нагрузить сервер и зачем он взял такой мощный.
У меня аналогичная проблема, нагрузка идёт с одного сайта на wordpress и загрудка всех процессоров бывает на 100% и память уходит и своп растёт. Скорее всего нужно переписывать FULLINDEX.
Спасибо, как вы писали - я делал. php не отрабатывал в html
Как включить include я гуглил, не смог решить этот вопрос тоже. Я помню раньше решалось всё просто включение параметров в php.ini
Точно, причём я всё остальное делал через GPT chat. :)
Спасибо братья.💪
Я обычно в таких случаях ставлю идентичную версию mysql на тестовой VDS
Останавливаю mysql
Копирую полностью папку /var/lib/mysql
Запускаю mysql
И делаю дамп нужных мне баз
Вот пожалуй лучшее решение.
Всем спасибо.
Попробовать сдампить в sql через ssh на новом сервере:mysqldump admin_getonline > admin_getonline.sqlПосле этого перезалить нормально базу через phpmyadmin.
Это пробовал сделать в первую очередь. Пишет:
mysqldump: Got error: 1146: "Table 'admin_getonline.wp_auto_updates' doesn't exist" when using LOCK TABLES