• Как правильно сделать wildcard редирект на nginx?

    Moor
    @Moor Автор вопроса
    dodo512, ну тут будет не сильно показательно :)
    HTTP/2 404
    date: Tue, 06 Jun 2023 21:12:42 GMT
    content-type: text/html; charset=utf-8
    vary: Accept-Encoding
    cf-cache-status: DYNAMIC
    report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Lk6wjMXZOhfRgrphHqrIQP%2BMHgnx6kWnLJW6m8ZdoHiHJ7VQWX4oDiuGFJRSnKourWpCrJWh8bmjE35FKgqlozueWCM%2FvldltX7blW93PAsOm9HT8LXb79%2BnkGlN1Q%3D%3D"}],"group":"cf-nel","max_age":604800}
    nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
    server: cloudflare
    cf-ray: 7d33a7afefe9bbfe-FRA
    alt-svc: h3=":443"; ma=86400
    Написано
  • Как правильно сделать wildcard редирект на nginx?

    Moor
    @Moor Автор вопроса
    dodo512, sudo nginx -t, sudo service nginx restart, проверяю запросом до существующей картинки, для исключения любого кэша в конце добавляю параметры типа файл.jpg?v=25.
    Написано
  • Как правильно сделать wildcard редирект на nginx?

    Moor
    @Moor Автор вопроса
    dodo512, поднять приоритет – не сработало, то же самое, возвращает 404, зараза. Похоже, придется темплейт конфига vestacp переписать, поднять выше инклуды.
    Написано
  • Как правильно сделать wildcard редирект на nginx?

    Moor
    @Moor Автор вопроса
    dodo512,
    server {
        listen      [мой_ip]:443 ssl http2;
        server_name [мойдомен] www.[мойдомен];
        root        /home/admin/web/[мойдомен]/public_html;
        index       index.php index.html index.htm;
        access_log  /var/log/nginx/domains/[мойдомен].log combined;
        access_log  /var/log/nginx/domains/[мойдомен].bytes bytes;
        error_log   /var/log/nginx/domains/[мойдомен].error.log error;
    
        ssl_certificate      /home/admin/conf/web/[мойдомен]/ssl/[мойдомен].pem;
        ssl_certificate_key  /home/admin/conf/web/[мойдомен]/ssl/[мойдомен].key;
        ssl_stapling on;
        ssl_stapling_verify on;
    
        include /home/admin/conf/web/[мойдомен]/nginx.hsts.conf*;
    
        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }
    
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
    
        location / {
            try_files $uri $uri/ /index.php?$args;
    
            if (!-e $request_filename)
            {
                rewrite ^(.+)$ /index.php?q=$1 last;
            }
    
            location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
                expires     max;
                fastcgi_hide_header "Set-Cookie";
            }
    		
    		location ~ [^/]\.php(/|$) {
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                if (!-f $document_root$fastcgi_script_name) {
                    return  404;
                }
    
                fastcgi_pass    unix:/run/php/php7.3-fpm-[мойдомен].sock;
                fastcgi_index   index.php;
                include         /etc/nginx/fastcgi_params;
            }
        }
    	
    	# WebP Express rules
    	# --------------------
    	location ~* ^/?wp-content/.*\.(png|jpe?g)$ {
    	  add_header Vary Accept;
    	  expires 365d;
    	  if ($http_accept !~* "webp"){
    			break;
    	  }
    	  try_files
    			/wp-content/webp-express/webp-images/doc-root/$uri.webp
    			$uri.webp
    			/wp-content/plugins/webp-express/wod/webp-on-demand.php?xsource=x$request_filename&wp-content=wp-content
    			;
    	}
    
    	# Route requests for non-existing webps to the converter
    			location ~* ^/?wp-content/.*\.(png|jpe?g)\.webp$ {
    			try_files
    			  $uri
    			  /wp-content/plugins/webp-express/wod/webp-realizer.php?xdestination=x$request_filename&wp-content=wp-content
    			  ;
    	}
    	# ------------------- (WebP Express rules ends here)
    
    	location /error/ {
    		alias   /home/admin/web/[мойдомен]/document_errors/;
    	}
    
    	location ~* "/\.(htaccess|htpasswd)$" {
    		deny    all;
    		return  404;
    	}
    
        location /vstats/ {
            alias   /home/admin/web/[мойдомен]/stats/;
            include /home/admin/web/[мойдомен]/stats/auth.conf*;
        }
    
        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.ssl.conf_*;
        include     /home/admin/web/[мойдомен]/public_html/*.conf*;
    }

    редирект вкладываю отдельным conf-файлом /home/admin/web/[мойдомен]/public_html/translate.conf. Другие конфиги дополнительные там же лежат.
    Написано
  • Как правильно сделать wildcard редирект на nginx?

    Moor
    @Moor Автор вопроса
    dodo512, я до прокси докопался, потому что обычный не срабатывал. Понимаю, что так должно работать, но не пробрасывает. nginx -t окей, другие директивы в подгружаемых conf нормально обрабатываются, а вот это никак не происходит.
    Написано
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    Подавляющая часть плагинов — для функционала магазина и админки, плюс оптимизация. С темой шел редактор WP Bakery + Massive Addons – это я отключу, когда перепишу все записи с его участием на Gutenberg, проверил, они работают шустрее.

    Сервер раньше был на 8 Гб и 4 ядра, а работал медленнее. Вчера с 5 раза мигрировал на Ubuntu 18.04 + HestiaCP, выравниваю полёт :)
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    Вопрос решен условно. Админка теперь не тормозит, работает прилично. Насколько это сбалансированное решение — не знаю. Поставлю New Relic, буду мониторить. На старом сервере самую большую нагрузку делал PHP, хотя ему было отдано до 4Гб. Время отклика сервера — не знаю, что с этим делать, долго. Главная грузится из Лондона 4-5 сек, я в Европе. Что касается переписывания плагинов...
    Список плагинов

    Redux Framework
    ACF Content Analysis for Yoast SEO
    Admin Menu Editor
    Advanced Custom Fields
    ATUM Inventory Management for WooCommerce
    iThemes Security
    Booster Plus for WooCommerce
    Cache External Scripts
    Webcraftic Clearfy - плагин оптимизации для Wordpress
    CMB2
    Contact Form 7 Honeypot
    Contact Form 7 Shortcode Enabler
    Contact Form 7
    Уведомление о куки
    WooCommerce Coupon Generator
    Duplicate Page
    Google Tag Manager for Wordpress
    Enhanced E-commerce for Woocommerce store
    XStore Core
    Facebook for WooCommerce
    Finteza Analytics
    Flamingo
    Health Check & Troubleshooting
    Heartbeat Control
    WPBakery Page Builder
    Loco Translate
    Mailchimp for WooCommerce
    MailChimp для WordPress
    Manage Notification E-mails
    Market Exporter
    Massive Addons for WPBakery Page Builder
    Newsletter
    Order / Coupon / Subscription Export Import Plugin for WooCommerce (BASIC)
    PHP Code Widget
    Popup Maker
    Post Type Switcher
    Product GTIN (EAN, UPC, ISBN) for WooCommerce
    Recently Registered
    Redirection
    Redis объектный кэш
    Regenerate Thumbnails
    Relevanssi
    Smart WooCommerce Search
    SSL Insecure Content Fixer
    Swift Performance Lite
    Swiper Slider and Carousel
    User Role Editor
    Visual Term Description Editor
    WooCommerce Waitlist Premium
    Woocommerce Customers Order History
    Advanced Order Export For WooCommerce
    WooCommerce Product Attachment
    Abandoned Cart Lite for WooCommerce
    WooCommerce Extended Coupon Features FREE
    Woocommerce E-Abi Postoffice plugin
    WooCommerce PDF Invoices & Packing Slips
    WOOF - WooCommerce Products Filter
    E-Abi Woocommerce Omniva Autosend method plugin
    E-Abi Omniva Shipping method plugin
    Woocommerce upcoming Products
    WooCommerce
    Yoast SEO
    WP Review Slider
    WP Mail Logging
    WP Mail SMTP
    WP-Optimize
    WP Rocket
    WP Sitemap Page
    Custom Product Tabs for WooCommerce
    YITH Pre-Order for WooCommerce
    YITH WooCommerce Gift Cards

    Несколько из них скоро канут в небытие, но переписывать тут — очень долгая и чрезвычайно дорогая песня.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    В общих чертах похоже на правду. Просто удвоил все параметры памяти для MySQL — сразу стало намного веселее.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    наверно и жесткий раз в 10 больше, чем нужно? )

    Сейчас 80 гигов. Сайты у меня занимают 9 гигов. Главное, что квоты трафика за глаза хватает, а харды и правда очень быстрые.

    С плагинами беда. Я выключил все-все ненужное, но нужное — оно уже позарез как нужно, не отказаться. Ну и соответственно в админке по 700-800 запросов к базе валит. А что самое смешное — Redis запросы уменьшает, а рендер только больше тормозит. Выключил.

    Сейчас удвоил все основные параметры использования памяти MySQL — админка сразу летает.
  • Какие первые шаги ОБЯЗАТЕЛЬНЫ после установки wordpress и возможно ли при этой стадии перевести сайт на https?

    Moor
    @Moor
    Можно поставить принудительную в .htaccess:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


    Можно и не заморачиваться этим вообще — перенести DNS-записи на Cloudflare, там уже можно включить и CDN, и HTTP/2, и SSL там сам подключится, и принудительный SSL.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    2 ядра, Vultr. В принципе можно взять и 4, там будет 8 оперативки.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    5cd476497c009655055684.jpeg
    Сейчас выглядит так, если не трогать админку магазина. На операциях с базой прыгает до гига, админка тормозит сильно. 128 отдал Redis.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    Я этими экспериментами прошлый сервер завалил :) Потому и спрашиваю. Особенно это касается правильной настройки конфига базы, там множество параметров, которые я не умею увязывать между собой.
  • Как рассчитать раcпределение оперативной памяти для веб-сервера?

    Moor
    @Moor Автор вопроса
    Перочинным ножиком :) Вопрос о конфигурации PHP и MySQL, в конфигах настраиваются параметры использования памяти.
  • Как вывести баннер в цикле продуктов woocommerce?

    Moor
    @Moor
    Я думаю, фраза
    на всю ширину

    содрежит подвох. Если засунуть в луп, баннер будет на ширину блока товаров. Если придать ему свойство position:absolute, то ширина будет равна ширине ближайшего родителя с position:relative
  • Как создать связку собственных таксономий с товарами в Woocommerce?

    Moor
    @Moor Автор вопроса
    Спасибо! Второй вариант – то, что я и искал!
  • Чем прочесть бинарный лог-файл?

    Moor
    @Moor Автор вопроса
    Владимир Мартьянов: Я сутки ждал :) Черт, я этих flow-tools в глаза не видел...
  • Чем прочесть бинарный лог-файл?

    Moor
    @Moor Автор вопроса
    Пока я тут вопросы задаю, хостер прислал пояснение "Данные в бинарном виде, просмотреть их можете с помощью утилит из пакета flow-tools (желательно на x64)".
  • PHP7 на ISPmanager Lite 5 Debian как поставить?

    Moor
    @Moor
    Влад Животнев: я уже попробовал вручную. isp не видит его, лазить в конфигах isp криыми лапами своими не хочется. Фиг с ним, поработаем пока на 5.6