Ответы пользователя по тегу Nginx
  • Как мне для разных сайтов использовать свой php.ini?

    Можно прям тут.
    Опять же у каждого сайта будет свой юзер и група
    listen = /var/lib/php7.4-fpm/web2.sock
    listen.owner = web2
    listen.group = www-data
    listen.mode = 0660
    
    user = web2
    group = client2
    
    pm = dynamic
    pm.max_children = 10
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 5
    pm.max_requests = 0
    
    chdir = /
    
    env[HOSTNAME] = $HOSTNAME
    env[TMP] = /var/www/clients/client2/web2/tmp
    env[TMPDIR] = /var/www/clients/client2/web2/tmp
    env[TEMP] = /var/www/clients/client2/web2/tmp
    env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    
    
    php_admin_value[mbstring.func_overload] = 2
    php_admin_value[default_charset] = utf-8
    php_admin_value[max_input_vars] = 10000
    php_admin_value[max_file_uploads] = 500
    php_admin_value[max_execution_time] = 300
    php_admin_value[post_max_size] = 1040M
    php_admin_value[upload_max_filesize] = 1040M
    php_admin_value[pcre.backtrack_limit] = 1000000
    php_admin_value[pcre.recursion_limit] = 100000
    php_admin_value[realpath_cache_size] = 2048k
    php_admin_value[mbstring.internal_encoding] = UTF-8
    php_admin_value[date.timezone] = Europe/Moscow
    php_admin_value[memory_limit] = 256M
    php_admin_value[zend_extension] = opcache.so
    php_admin_flag[opcache.enable] = 1
    php_admin_value[opcache.memory_consumption] = 2048
    php_admin_value[opcache.interned_strings_buffer] = 512
    php_admin_value[opcache.max_accelerated_files] = 100000
    php_admin_flag[opcache.max_wasted_percentage] = 1
    php_admin_flag[opcache.validate_timestamps] = 1
    php_admin_flag[opcache.revalidate_freq] = off
    php_admin_flag[opcache.fast_shutdown] = 1
    php_admin_flag[opcache.save_comments] = 1
    php_admin_flag[opcache.load_comments] = 1
    php_admin_flag[opcache.revalidate_freq] = off
    php_admin_flag[mail.add_x_header] = On
    php_admin_flag[short_open_tag] = On
    Ответ написан
    Комментировать
  • Что делать, если Nginx не считывает корневой домен?

    Nginx определяет конфиг по IP адресу и открывается сайт. А если заходить по домену, то возникает проблема — Сайт mydomain.com не позволяет установить соединение.

    нет по server_nameна основание его подставляется конфиг.
    А берет он его из браузера клиента!!!
    Так что у него нет проблем с тем что 100 сайтов на 1 айпи и одном порту.
    А вот
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        server_name _;
    
        return 301 https://$host$request_uri;
    }

    это "мусорка" то есть любой домен не объявленный явно, то есть это /dev/null для nginx
    тут не должно быть реальных сайтов, имен по этому у тебя сайт открывается по IP ибо такогодомена нет и срабатывает правило хз отдам ченить с этой папки, тут по идее должен лежать файлик , братик все работает ты попал на нужный сервер но домен не опознан.
    Все сайты нужно объявлять явно. server_name mydomain.com; server_name mydomain2.com;
    Если же у тебя все сайты лежат в одном месте и ЧПУ отвечает за их отдачу то просто укажи их все сразу
    server_name mydomain.com  2mydomain.com 3mydomain.com ;


    PS
    Вижу колхоз совхоз.
    Рекомендую пока поставить веб панельку и поработать через нее дабы они ставятся в 1 клик ( желательно на чистую ос). Не нужно уходить в чистую консоль поскольку вначале посмотри как собираются веб сервера там целая портянка демонов от FPM до certbot и как они взаимодействуют нужно вначале посмотреть понять а потом уже мутить свое.
    Вот у меня к примеру более 100 серверов, и больше 15 лет практики но половина серверов с веб панелями ибо нет смысла руками чет ковырять, это избавляет от человеческого фактора и я ценю время, хотя да местами кастомлю панельки сильно.
    И даже есть места где их нет, но там свои проблемы поверь мне, когда ты читаешь конфиги 10 летней давности созданы непонятно кем, некоторые строки комментировать некому. в общем в голой установке тоже есть косяки.
    ispconfig3 - я на ней но не всем подойдет, поскольку я ее кастрюлю сильно но если тебе чисто бэк то подойтет изи.
    vestacp - дешево сердито но работает
    aapanel - хорошее соотношение цена качество удобство, нет русского, и очень долго ставится около 2
    часов !, в смысле сама но вот так вот ;)
    brainycp - одним словом "багато" интерфейс не очень интуитивен и для начинающих может вызывать бурю эмоции, но умеет конечно до талого, проприетарен, способ заработка у ребят вообще непонятен но русские и сап даже есть, но я бы не стал их брать ибо интерфейс мое почтение все через поиск ;) ибо без него ты даже сайт не создашь сразу .
    Ответ написан
    Комментировать
  • Как настроить сертификаты ssl для любого домена ссылающегося на ip?

    https://www.cloudflare.com/ - бесплатно создаеш акаунт для всех этих доменов вместо ДНС включаешь прокси, и выставляешь подставлять сертификать https-http
    кауд сам будет выдавать сертификат и закрывать им соедениние.
    единственное что останется это http соединение до самого клауда.
    Но судя по вашему запросу вы не очень сильно понимаете суть проблемы или описали ее не совсем валидно.
    Ответ написан
    Комментировать
  • Nginx Proxy Manager + yunohost как настроить переадресацию?

    Посмотрите что у вас в цикле собственно.
    https://checkmy.ru/
    возможно у вас просто .htaccess кружит по кругу
    Ответ написан
    Комментировать
  • Как настроить 301 редиректы на соответствующие URL с нижним регистром?

    иногда одни и те же страницы открываются под URL-ами

    нет никогда они так не открываются!!!
    Поскольку линукс РЕГИСТРОЗАВИСИМАЯ ОС
    и посколкьу для понимания этого мало то
    РЕГИСТРОЗАВИСИМАЯ ОС
    РЕГИСТРОЗАВИСИМАЯ ОС
    РЕГИСТРОЗАВИСИМАЯ ОС
    РЕГИСТРОЗАВИСИМАЯ ОС
    РЕГИСТРОЗАВИСИМАЯ ОС, достали со своей виндой.
    НЕТ это разные файлы
    и разные урлы
    и разные пути
    их нельзя никогда никак и ни при каких обстоятельствах склеивать.
    Вопрос почему у вас чпу или не отрабатывает это или вы намеренно сделали неправельное чпу
    страница с флагом[NC] но это ваша проблема!
    Правильный вариант:
    https://site.com/primer/ -200 ОК
    https://site.com/Primer/ -404

    НУ или наоборот в зависимости от вашей политики партии, но если это реальный каталог то соответственно как он реально называется
    других вариантов нет. все остальное от незнания и некомпетенции

    С точки зрения сео это тоже канибализация запросов так что не нужно мне лечить за эту тему
    P.S.
    GET не является частью урла ( с точки зрения apache а не yandex)
    Ответ написан
    Комментировать
  • Как организовать кеш картинок при такой архитектуре?

    Зачем вам кэш картинок
    У вас HDD ? камон братишка сейчас 2022 (почти23)
    в этом случае да большое количество даже маленьких картинок при параллельном чтение действительно просаживают вашу I-O тем самым вы замедляете работу своего сайта.
    НО сдается мне что у вас ssd а скорее всего Nvme ибо они стоят нынче как грязь под ноктями.
    Соответственно I-O диска немного ( тут используется сарказм) быстрее и не путайте пожалуйста скорость чтения со скоростью доступа ибо она еще больше чем просто скорость чтения и записи относительно HDD.
    Что вы собираетесь закешировать и какой эффект вы пытаетесь от этого получить ?
    Желательно с прфуами
    А я вам дам свой пруф.
    вы создаете в памяти раздел, закидываете туда весь сайт ( ну прям вот весь), мотнитуете его как диск.
    И замеряйте, быстрей чем весь сайт в памяти вы уже не получите.
    Итог будет я вам скажу печальный, разницы практически не будет от слова совсем ( кроме сжырания памяти).
    Все уткнется в генерацию дом. А там ахиллесова пята это mysql
    Ответ написан
    Комментировать
  • Как перенаправить ответ Curl'a клиенту?

    Ниче не понял но вот вам про курл пхп и полные заголовки.
    https://gist.github.com/lemmycaution/3818359
    https://github.com/zounar/php-proxy
    Удобная вещь для подобных извращений.
    Ответ написан
    Комментировать
  • Почему nginx при одинаковых настройках не работает?

    1. должно работать, давай все конфиги притом архивом всю папку.
    2. зачем тебе все это поставь админку в 1 клик дабы их миллион и забудь про все это как страшный сон
    ispconfig3
    aapanel
    vestacp
    Так же я вижу у тебя в ошибках FPM а его точно там быть не должно.
    Ответ написан
  • Почему nginx не запускает index.php?

    https://www.ispconfig.org/ - 1 клик веб интерфейс (да там почтовый сервер тоже).
    Ответ написан
  • Настроить домашний сервер Nginx + DDNS + и выпустить SSL сертификаты?

    Какая ОС ?
    Если линукс то
    aapanel - 1 клик все работает
    ispconfig3 - 3 клика все работает.
    vestacp -1 клик все работает.
    не забывай что портов нужно немного больше чем 80
    а примерно вот столько
    20,21,22,53,80,143,110,443,993,995,3306,8080,8081,10000,40110:40210,9306,5454
    Ответ написан
  • Как исправить белый экран phpmyadmin после смены версии php?

    shambler81
    @shambler81 Куратор тега Linux
    Ставьте дополнительную версию пхп 7.4 ( дабы nginx+fpm это делается легко)
    подключайте в nginx ее для phpmyadmin я не вижу на оф сайте поддирки 8 пхп
    А еще лучше поставьет веб панель дабы их миллион и ставятся они в 1 клик
    Ответ написан
  • Как nginx page_error сделать мультиязычным?

    shambler81
    @shambler81 Куратор тега Linux
    Вы изначально пошли не тем путем.
    Коды ответа не должен отдавать nignx
    а их должна отдавать сама cms
    в них все это есть, вплоть до шаблона 404
    Однако если ошибка 50X дествительно бэк может не отвечать в принципе и тут бло бы не кисло сразу давать красивую страничку.
    Вам никто не мешает отправить это на пхпшный файл который уже в свою очередь будет подключать геолокатор которй в свою очередь будет подставлять шаблон.
    дешево сердито и работает.
    Если же nginx+fpm уже не сработают то и 500 вам отдавать будет некому.
    error_page 500 502 503 = @fallback;
    
            location @fallback {
    тут правило че отдать, но сам саму логику уже в пхп или че там у вас
                    }
    Ответ написан
  • Почему работает htaccess на nginx?

    shambler81
    @shambler81 Куратор тега htaccess
    у вас nginx+apache
    посмотрите что у вас в proxy_pass стоит ?
    Ответ написан
    Комментировать
  • Как сделать проксирование на тот же домен в Nginx?

    127.0.0.1 - для этого прекрасно подойдет че вы придумываете
    если он на другом сервере то по IP
    ведь подстановка конфигов идет по http reffer
    Ответ написан
    Комментировать
  • Как обновить сертификаты Lets Encrypt?

    certbot renewна том сервере где у тебя стоит цертбот
    если тебе нужно толко протестирвать и не выпускать сами сертификаты *( количество попыток 5 в день)
    certbot renew --dry-run все тоже-самое но сами сертификаты не выпустятся и можно тестьить хоть весь день
    Как првоеряется сертификат
    он создет ппку ложен в него файлик и првоерет появился ли он на сайте
    ААА - записи нет в ДНС
    5 попыток не пройдено сегодня.
    www домен не имеет ААА записей
    www домен создан и ведет на этот же сервер ( при услвие что в проверке он учавствует)

    Если это условие удовлетворяет то его больше не парит.
    Это естественно можно сделать и на сервере nginx не отдавая это сомнительное деймтвие на бэк

    # letsencrypt
             location /.well-known/acme-challenge/ {
                    alias /usr/local/ispconfig/interface/acme/;
                    default_type text/plain;
    
             }


    /usr/local/ispconfig/interface/acme/; - место где будут лежать сертификаты (посмотри в конфиге certobt ).
    Так же нужно убедиться что certbot хватает прав на эту папку для записи и она создана естественно.
    Ответ написан
    Комментировать
  • Как сделать ссылку без параметров?

    не туда копаете
    это называется ЧПУ
    думаю этого уже достаточно как ответ гуглится за 1 секунду.

    Теперь по редиректам
    mod_rewrite не считает GET частью урла в принципе, по этому в RewriteRule он попасть не может ни при каком желание
    Делается это вот так

    # 301 --- http://www.test3.com/faq.html?faq=13&layout=bob => bbq.html
    RewriteCond %{QUERY_STRING} (?:^|&)faq\=13(?:$|&)
    RewriteCond %{QUERY_STRING} (?:^|&)layout\=bob(?:$|&)
    RewriteRule ^faq\.html$ /bbq.html? [L,R=301]

    Обратите внимание на знак "?" вот тут /bbq.html? [L,R=301]
    он удалит GET из урла
    Ответ написан
    Комментировать
  • Как настроить nginx на подстановку домена?

    сделай это в пхп
    php proxy делается очень легко. и это легко будет сделать.
    https://github.com/zounar/php-proxy
    размести его в 404 пхп на твоем сайте.
    Все что нужно будет это добавить строчку кода с логикой по переносу домена на проксю, но это прям 1 -2 строчки
    Ответ написан
    Комментировать
  • Динамическая директория для всех доменов?

    но ээээ как бы сказать аааа зачем такие костыли
    1. убираешь инклуд
    2. в каждом конфиге стваишь свои сертификаты, вот че операцию на гланды делать через жопу ?
    Ответ написан
    Комментировать
  • После переноса от хостера сайта OpenCart открывается только главная страница, остальные 404?

    shambler81
    @shambler81 Куратор тега htaccess
    судя по конфигу

    location ~ \.php$ {
            try_files $uri = 404;
            include fastcgi_params;
            fastcgi_pass  unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        }


    У тебя конфигурация nginx+FPM
    а в нем не работает htaccess
    Ответ написан
    3 комментария
  • Обработает ли nginx файл с 50k редиректами?

    без проблем
    Если боитесь нагрузки то сделайте эти редиректы в 404.php
    собственно в таком случае они будут срабатывать только когда к ним будут обращаться в остальных случаях они вообще не будут грузить систему. да и при переезде не нужно будет думать о них.
    Ну и писать их в нем легче ;)
    Ответ написан
    1 комментарий