Jump to content

Recommended Posts

Были проблемы со скоростью загрузки страниц сайта, решил начать оптимизацию с переноса на vps сервер и настройки его на максимальную производительность. 

Обратился с этим к Станиславу, он настроил vps сервер, помог с переездом, сделал настройки безопасности и оптимизацией изображений на сайте с помощью специальных программ, которые запускаются по расписанию, а также дал рекомендации, где искать тормоза в коде сайта. В результате скорость загрузки сайта значительно выросла, за что я очень благодарен)!

Share this post


Link to post
Share on other sites
В 05.12.2017 в 22:42, Marakoris сказал:

Были проблемы со скоростью загрузки страниц сайта, решил начать оптимизацию с переноса на vps сервер и настройки его на максимальную производительность. 

Обратился с этим к Станиславу, он настроил vps сервер, помог с переездом, сделал настройки безопасности и оптимизацией изображений на сайте с помощью специальных программ, которые запускаются по расписанию, а также дал рекомендации, где искать тормоза в коде сайта. В результате скорость загрузки сайта значительно выросла, за что я очень благодарен)!

Спасибо за отзыв. Был рад помочь)

Работа продолжается, пожалуйста, обращайтесь)

 

Поздравляю всех пользователей форума с наступающим праздником. Желаю счастья, успехов и всего наилучшего!

Share this post


Link to post
Share on other sites

Появилась потребность настроить выделенный сервер VDS для сайта на 15К товаров. Сайт уже лежал на VDS, т.к. был перенесён с хостинга силами технической службы Хостера, но сервер настроен был очень криво, что мешало сайту работать быстро.

 

Обратился к Станиславу(EvaSystems) для выбора правильного ПО для VDS, настройки и установки этого ПО и выделенного сервера VDS. Были обговорены все этапы работы, какое будет установлено ПО, конкретное время начала работ. Кстати, Станислав(EvaSystems) меня переубедил при выборе операционной системы, т.к. я хотел Ubuntu.

 

Работы начали в обговоренное время, очень пунктуально, что сейчас встречается не часто. За несколько часов всё было настроено как надо. Что было установлено: Debian 8 + ISPmanager + apache + nginx + mysql + http2 + тонкая настройка всего сервера для максимальной производительности + сжатие. Было настроено сжатие изображений по расписанию, было дано очень много рекоммендаций по работе с сервером и Базой Данных, где и как прописать записи днс почты, чтобы она не попадала в спам. Была сделана тонкая настройка https, чтобы ssllabs оценил на А+

 

Были и танцы с бубном, пришлось разобраться с тайм лимитом. Оказывается "специалисты" хостера поставили в файлах сайта ограничения, которые мешали работе некоторых модулей. А как догадаться? Вот человек поковырял - нашел, цену за это не поднимал. В итоге работа перенеслась ещё и на следующий день. В тоге Станислав(EvaSystems) довёл дело до состояния когда сайт летает и все модули стабильно работают.

 

Самое приятное, что доп. оплаты Станислав(EvaSystems) не требовал. А зачем её требовать если мне приятно заплатить человеку свыше указанной суммы?

Рекомендую обращаться к EvaSystems за квалифицированной помощью для настройки и оптимизации VDS серверов для максимальной производительности, чтобы ваши сайты летали!

Edited by artembalt

Share this post


Link to post
Share on other sites

Evas обладает высшими знаниями в техношаманстве над линукс серверами. После его колдовства сервер превращается буквально в суперкомпьютер, быстрый и устойчивый к любым внешним нагрузкам и угрозам :)

Share this post


Link to post
Share on other sites

@yadzha, спасибо за отзыв. Был рад помочь.

 

Предложения актуальны. Работа продолжается, обращайтесь в любое удобное для вас время.

  • +1 1

Share this post


Link to post
Share on other sites

По прежнему периодически обращаюсь к Станиславу за помощью, всем доволен.

Share this post


Link to post
Share on other sites
В 09.11.2018 в 10:44, artembalt сказал:

По прежнему периодически обращаюсь к Станиславу за помощью, всем доволен.

Спасибо за отзыв) 
Поднимаю тему, всё актуально, продолжаю работать...

Share this post


Link to post
Share on other sites

Был приятно удивлён к трепетному подходу решения проблемы сетевой безопасности. @EvaSystems отличный исполнитель.Молодец!

Share this post


Link to post
Share on other sites
В 05.12.2018 в 11:30, Arti05 сказал:

Был приятно удивлён к трепетному подходу решения проблемы сетевой безопасности. @EvaSystems отличный исполнитель.Молодец!

 

@Arti05 спасибо за отзыв, был рад помочь)

 

Хоть праздники ещё не закончились, а я уже работаю)
Поднимаю тему. Пожалуйста, обращайтесь.

Занимаюсь системным администрированием Linux серверов.

Edited by EvaSystems

Share this post


Link to post
Share on other sites

Работа продолжается. Обращайтесь в любое удобное для вас время. Буду рад помочь)

Share this post


Link to post
Share on other sites

Здравствуйте. 
Хотел бы сообщить об изменении цен на следующие услуги:

"Включение http/2 + грамотная настройка https(ssl)" - теперь 600р
"Оптимизация размеров и сжатие изображений (дополнительное ускорения загрузки сайта)" - теперь 600р

Продолжаю работать, готов к новым клиентам. Как к постоянным, так и на разовой основе)

Share this post


Link to post
Share on other sites

оперативно, надежно, с кучей советов и предложений как сделать лучше.

 

Share this post


Link to post
Share on other sites
В 16.02.2019 в 09:05, nikifalex сказал:

оперативно, надежно, с кучей советов и предложений как сделать лучше.

 

Спасибо за отзыв)

 

Радостные новости для моих текущих и будущих клиентов)

Теперь наконец доступен способ оплаты через Яндекс Деньги, ранее работал лишь с WebMoney, но сейчас появилась возможность сделать Яндекс...

Также был запущен сайт. https://evasystems.ru/

Работа продолжается, готов к новым заказам. Обращайтесь)

Share this post


Link to post
Share on other sites

Работа продолжается. А для оперативности ответа обращайтесь сразу по контактам, т.к на форуме бываю реже.

Share this post


Link to post
Share on other sites

Жду новых клиентов. Пожалуйста обращайтесь, буду рад помочь.

Share this post


Link to post
Share on other sites

Подскажите, у меня у одного из друзей есть проект, 450 000 товаров и 200 000 товаров в категории с MegaFilterPro, вы можете помочь. Очень занят, необходимо найти порядочного подрядчика для оптимизации.

Share this post


Link to post
Share on other sites
В 30.05.2019 в 22:37, snastik сказал:

Подскажите, у меня у одного из друзей есть проект, 450 000 товаров и 200 000 товаров в категории с MegaFilterPro, вы можете помочь. Очень занят, необходимо найти порядочного подрядчика для оптимизации.

Я системный администратор, я занимаюсь оптимизацией серверного ПО, а не самого движка. То, что вы описали выше, к сожалению, мне ничего не говорит.

Если будет задача провести аудит настроек сервера и серверного ПО, смогу помочь.

Share this post


Link to post
Share on other sites

Продолжаю работать. Обращайтесь в любое удобное для вас время.

Share this post


Link to post
Share on other sites

Ни первый раз обращаюсь к Станиславу за помощью по настройки веб сервера и переносу сайта и как всегда все отлично. Рекомендую!

Share this post


Link to post
Share on other sites

Marakoris, спасибо за отзыв.


Сообщаю, что с 6 августа я в отпуске. Вернусь 16 августа. Приём новых заказов на этот срок приостановлен. Поддержка для текущих клиентов будет лишь в вечернее время.

Share this post


Link to post
Share on other sites

Приветствую.
Я вернулся из отпуска и готов приступить к работе. Пишите в любое удобное время, а обязательно вам отвечу. Спасибо)

Share this post


Link to post
Share on other sites

Работа по администрированию ваших серверов продолжается, обращайтесь, буду рад помочь)
Также сообщаю, что теперь принимаю к оплате и QIWI

Share this post


Link to post
Share on other sites

Обращайтесь, буду рад помочь. Работа продолжается.

Share this post


Link to post
Share on other sites

Спасибо EvaSystems, долго не мог найти кто нормально настроит vds. 

На следующий день после обращения, все сделали, сайты летают! Внимательно отнёсся к деталям, дал свои рекомендации!

И что особенно было приятно, уже спустя неделю, ещё раз проверили нагрузку, увидели что один модуль делает много запросов с другого сервере и сами поправили! Вот это я понимаю клиентоориентированность!)

Спасибо, очень рекомендую!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Neuro75
      Вот, болею на Новый год, время свободное есть, сервера ковыряю, свои записки сумасшедшего разбираю. Немного данных накопилось по настройке VPS на Nginx для Opencart, решил выложить. Пилить на какой-нибудь свой сайт статью - ЧСВ еще недостаточно развито, а в формате форума думаю самое то. Вдруг пригодится кому.
      Мануал не претендует на истину в последней инстанции, даже вообще ни в какой инстанции не претендует, просто я вот так делаю. Аргументированная критика и бросание тапками принимаются. Если модераторы решат прикрепить его где-нибудь в песочнице - буду неделю раздуваться от гордости.
      Написан подробно для совсем новичков. Кто не новичок - не читайте, будете зевать. Просто очередной 100500 мануал по настройке сервера.
      Ниже буду писать команды для копипасты и в спойлерах постараюсь аргументировать почему так, а не иначе.
      Итак, исходные данные.
      Имеем голый VPS. Без ISP-Manager и прочих панелей. Системой выберем Debian 8.2. Веб-сервер - Nginx. SAPI - php-fpm. PHP 7.3. Mariadb 10.4.
      Обязательный https, wildcard-сертификаты от LetsEncrypt. Немного паранойи в настройках тоже добавим, куда ж без нее.
      Сайт используемый в примере - традиционный mysite.ru. Пользователь debian - debuser. IP VPS - 123.123.123.123. Эти переменные буду выделять в конфигах вот так {mysite.ru) для их замены на свои значения.
       
       
      Установка ОС
      Все написанное ниже работает для любой версии Debian, которую вы выберите (на 10 сервер еще не поднимал, на 99% уверен что все будет работать, на 9 точно работает). Единственно, в /etc/apt/sources.list поменяйте jessie на имя выбранного дистрибутива - stretch или buster.
      Если же согласились с моими аргументами в спойлере выше и решили ставить Debian 8.2, то ищем у хостера предложенный к установке образ этой версии и раскатываем его на VPS. Если таковой не предлагается - просим поддержку подключить  standard+nonfree образ с debian.org и ставимся с него.
      Установка стандартная, останавливаться на ней не буду. Образ, указанный по ссылке, про устанавливаемые компоненты спрашивать не будет, он просто ставит минимальный набор. Образ хостера, скорее всего спросит на этапе "Выбор программного обеспечения" - снимаем галки со всего, кроме "Server SSH". "Стандартные системные компоненты" включаем/выключаем по желанию. Чего ему потом будет не хватать подтянет сам по зависимостям или спросит. Если не уверены в себе, ну поставьте галку и на них тоже.
       
      Удаленное подключение по SSH.
      Из windows - используем putty, последнюю версию которой берем на официальном сайте. Во всяких окошках и полях заполняем что ей надо (IP VPS, порт ssh, имя пользователя и его пароль), сохраняем подключение и потом дважды по нему щелкая наблюдаем удаленный терминал.
      Счастливые обладатели linux на десктопе просто вводят
      ssh {IP_адрес_сервера} -l {имя_пользователя_Debain} GRUB, стандартные репозитории и серверные ключи ssh
      Все команды ниже выполняются от рута, поэтому
      su и поехали дальше по списку. Адепты sudo гуглят и выполняют "Установка и настройка sudo в Debian" и в дальнейшем перед всеми командами добавляют sudo.
       
      а) удаляем дефолтную пятисекундную задержку grub. На сервере она нам вообще ни к чему -> выигрываем пять секунд на каждом перезапуске
      nano /etc/default/grub Значение GRUB_TIMEOUT=5 меняем на GRUB_TIMEOUT=0
      update-grub  
      б) приводим в порядок список репозиториев
      Этот пункт - единственный, который будет отличаться для разных версий Debain.
      Для 8.2:
      > /etc/apt/sources.list nano /etc/apt/sources.list  
      Вставляем:
      Обновляем:
      apt-get update Должен обновиться и выругаться на ключ AA8E81B4331F7F50 от неизвестного нового репозитория обновлений безопасности. Ставим этот ключ:
      apt-key adv --recv-keys --keyserver keyserver.ubuntu.com AA8E81B4331F7F50 Для stretch и buster:
      ничего не делаем
       
      в) немного обещанной паранойи (можно не делать, но лучше сделать)
      Если мы подключали образ, который не сами скачали, то неизестно, что в нем за ключи для ssh. Поэтому убьем их и поставим новые
      rm /etc/ssh/ssh_host_* apt-get install --reinstall libssh2-1:amd64 openssh-blacklist openssh-blacklist-extra openssh-client openssh-server ssh Для проверки ребутимся
      reboot и вновь коннектимся по ssh. Т.к. ключи поменяли, сервер  сообщит, что "ECDSA key fingerprint.... " теперь какой-то другой и спросит подключаться/нет. Ответить "yes".
       
      Настройка SSH
      По умолчанию ssh слушает на 22 порту, доступ root - только по ключу (параметр without-password, см.ниже), доступ по паролю разрешен.
      Можно все так и оставить, тогда пропускаем этот пункт и идем к следующему.
      Можно поменять. Размышления на эту тему под спойлером.
      Открываем конфиг ssh
      nano /etc/ssh/sshd_config а) смена порта
      Выбираем какой-нибудь понравившийся свободный порт. Например, из отмеченных вот тут голубым цветом.
      Меняем в конфиге параметр
      на
       
      б) запрет доступа root'ом
      Меняем
      на
       
      в) запрет доступа по паролю (доступ только по ключу)
      Проверить, что параметр, разрешающий доступ по ключу
      не закомментирован и имеет значение yes (по умолчанию так и есть, но проверить не помешает, а то может быть грустно).
      Раскомментировать строку
      и поменять ее значение на
       
      г) если выставили доступ только по ключу, то перед перезапуском демона ssh (следующий пункт) обязательно создать ключ на локальной машине и проверить, что по нему пускает
      Г1. Если на локальной машине linux, то в терминале пользователя, из которого ходить будете
      ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa ssh-copy-id -i ~/.ssh/id_rsa.pub имя_удаленного_пользователя@IP_адрес_удаленной_машины ssh-add ~/.ssh/id_rsa  
      Г2. Для пользователей Windows - используем утилиту puttygen, которая установилась вместе с putty (см.выше). Пользоваться ей несложно, она графическая. Например, вот первый попавшийся мануал.
       
      д) для применения сделанных изменений рестартуем демона ssh
      service sshd restart  
      e) ставим fail2ban
      Небольшая, но весьма полезная утилита, которая после нескольких попыток неправильного ввода пароля ssh отправляет IP, с которого осуществлялся доступ, в бан.
      apt-get install fail2ban Работает из коробки. По умолчанию для ssh настроена на защиту 22 порта. Если порт поменяли, идем в конфиг
      nano /etc/fail2ban/jail.conf и в секции [ssh]
      меняем значение
      на
      Рестартуем для применения изменений
      service fail2ban restart В рамках этого поста про fail2ban ограничусь, но она умеет еще много чего, крайне рекомендую погуглить "Настройка fail2ban"
       
      Настройка FTP
      Из двух самых распространенных ftp-серверов proftpd и vsftpd, лично я предпочитаю proftpd. Про него и напишу.
      apt-get install proftpd На вопрос установить как сервис или запускать через inetd - выбирайте inetd (если к вам на сервер не будут толпы посетителей по ftp ходить)
      Представляется, что типовым ftp-пользователем у вас на сайте будет техподдержка модулей. Все что им надо - гонять туда-сюда файлы в определенной директории определенного сайта. И поэтому по ssh им на сервере делать нечего. Для этого добавляем в список shell'ов /bin/false, который не дает пользователю ни по ssh войти, ни bash'eм пользоваться.
      echo "/bin/false" >> /etc/shells При создании пользователя ему нужно будет определить домашнюю директорию, в которой запереть. Поэтому, забегая вперед: сайты у нас будут лежать в /var/www, nginx работать от имени пользователя www-data, которому, соответственно, нужны полные права на /var/www.
      Т.е, mysite.ru будет лежать в /var/www/mysite.ru. Доступ будем давать пользователю support-mysite, который должен ходить только в нее и никуда больше на сервере.
      Создаем /var/www/mysite.ru (вместо mysite.ru укажите свою директорию сайта)
      mkdir -p /var/www/{mysite.ru} Создаем пользователя support-mysite (укажите своего) с домашней директорией /var/www/mysite.ru (укажите свою) и шеллом /bin/false
      adduser --home /var/www/{mysite.ru} --shell /bin/false {support-mysite} Должно ругнуться, что пользователь не имеет прав на свою домашнюю директорию (мы ж ее рутом создавали), не обращайте внимания, соглашайтесь создать все равно.
      Создаем пользователю support-mysite (укажите своего) пароль
      passwd {support-mysite} Присваиваем /var/www и всему что в нее входит владельца/группу www-data:www-data с правами на файлы 664 и директории 775
      chown -R www-data:www-data /var/www && find /var/www -type f -exec chmod 664 {} \; && find /var/www -type d -exec chmod 775 {} \; Подробнее про права:
       
      Добавляем пользователю support-mysite (укажите своего) группу www-data
      usermod -a -G www-data {support-mysite} Редактируем конфиг proftpd
      nano /etc/proftpd/proftpd.conf а) меняем имя сервера (не принципиально, при подключении будет рапортовать вы туда-то подключились юзерам)
      на
      б) запираем пользователей в их домашних директориях
      находим
      и раскомментируем
      в) меняем порт (см. соображения выше про порт для ssh
      на
      г) разрешаем пассивный режим
      находим
      и раскомментируем
      д) описываем доступ support-mysite (укажите своего) к директории /var/www/mysite.ru (укажите свою). Для этого, в конец конфига добавляем блок
       
      Сохраняем конфиг и перезапускаем proftpd
      service proftpd restart Если вдруг когда-нибудь возникнет необходимость предоставить этому пользователю ssh-доступ, идем в /etc/passwd (nano /etc/passwd) и меняем ему там /bin/false на /bin/bash. Там же можно сменить и домашнюю директорию.
      Аналогично вышеописанному создаем сколько нужно ftp-пользователей на сколько нужно сайтов.
      При этом помним, что если им дать ssh-доступ, то они смогут ходить по всему серверу (кроме директории /root), править файлы не только своего сайта, а всех, которые лежат в /var/www (т.к. входят в группу www-data). При /bin/false - дальше присвоенной домашней директории не уйдут.
       
      Настройка firewall
      Файрвол будем использовать типовой  - основанный на iptables, разрешающий все исходящие соединения и запрещающиий все входящие кроме специально разрешенных.
      Проверяем что установлены iptables последней версии
      apt-get install iptables Создаем файл правил
      nano /etc/firewall.sh Спрячу его под спойлер, а то и так уже поэму написал
       
      Делаем его выполнимым
      chmod +x /etc/firewall.sh Добавляем в /etc/network/interfaces загрузку правил при ребуте (вставить выделенное жирным после iface lo inet loopback
      nano /etc/network/interfaces Применяем правила
      sh /etc/firewall.sh и сохраняем текущее состояние в файл, который будем загружать
      iptables-save > /etc/ip_rulles.lst Логика обращения с файрволом несложная - в конце меняем или создаем по аналогии новые порты, которые должны быть открыты, применяем новые правила и сохраняем их в файл.
      Если надо его совсем отключить - комментируем три выделенных строки в /etc/network/interfaces и перезагружаемся. Если надо включить - раскомментируем и перезагружаемся.
       
      Установка nginx, php и mariadb
      Ставим пакеты для работы с https-репозиториями. Ну и заодно некоторые утилиты, чтобы лишних команд потом не писать:
      apt-get install lsb-release apt-transport-https ca-certificates software-properties-common curl gnupg2 mc unar haveged  
        Ставим ключи для репозиториев
      cd /tmp wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add - Добавляем репозитории в sources.list
      nano /etc/apt/sources.list Добавить в конец файла (не забываем менять jessie на stretch или buster при необходимости):
       
      Обновляемся, апгрейдимся и ребутимся (на всякий случай, слишком много пакетов он из новых репозиториев тащит, а также обновляет initramfs, создавая новый /boot/initrd.img)
      apt-get update && apt-get upgrade reboot Вновь коннектимся по ssh.
      Ставим пакеты
      apt-get install mariadb-server nginx php7.3-fpm php7.3-curl php7.3-mbstring php7.3-mysql php7.3-xml php7.3-gd php7.3-zip php7.3-bcmath php7.3-imagick Примечание: если нужно PHP 7.2 или 7.1, меняем цифры в команде выше
       
      Донастройка php
      а) ставим ioncube
      скачиваем и разъархивируем тарбол с последними ioncube'ами
      cd /tmp wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz tar xfz ioncube_loaders_lin_x86-64.tar.gz cd ioncube Проверяем установленную версию php
      php -v Смотрим в какой папке лежат расширения php
      php -i | grep extension_dir Копируем нужный ioncube_loader в данную папку (команда с путями приведена для PHP 7.3. Как есть, так и копируем. Для PHP 7.2 и 7.1 - измените индекс в команде и вставьте путь, который показала предыдущая команда)
       
      cp ioncube_loader_lin_7.3.so /usr/lib/php/20180731 Открываем php.ini
      nano /etc/php/7.3/fpm/php.ini Ну или nano /etc/php/7.2/fpm/php.ini, nano /etc/php/7.1/fpm/php.ini - соответственно
      Находим первый "zend_extension = ...." и перед ним вставляем
       
      Для PHP 7.2 и 7.1 измените индекс и папку так, как указано выше.
       
      Повторить вставку той же строки для CLI (nano /etc/php/7.3/cli/php.ini, nano /etc/php/7.2/cli/php.ini, nano /etc/php/7.1/cli/php.ini)
      Перезапускаем службу
      service php7.3-fpm restart (service php7.2-fpm restart, service php7.1-fpm restart)
       
      б) ставим mcrypt
      Начиная с PHP 7.2 модуль mcrypt исключен из репозитория. Однако для Opencart 2 он нужен (а для 3 - нет, если не будете двойку использовать, то и не ставьте его, уж больно много он мусора для своей сборки тянет)
      Для PHP 7.3 и 7.2 ставим его через pecl
      apt-get install gcc make autoconf libc-dev pkg-config apt-get install php7.3-dev apt-get install libmcrypt-dev pecl install mcrypt-1.0.3 Для PHP 7.2 во второй команде указываем php7.2-dev соответственно.
       
      Создаем ini-файл модуля
      nano /etc/php/7.3/mods-available/mcrypt.ini Для PHP 7.2 - nano /etc/php/7.2/mods-available/mcrypt.ini
      Вставляем
      Включаем вновь созданный модуль
      phpenmod mcrypt Перезапускаем службу
      service php7.3-fpm restart (service php7.2-fpm restart)
      Проверка:
      php -m | grep mcrypt Результат должен быть
       
      в) правим php.ini
      nano /etc/php/7.3/fpm/php.ini Ну или nano /etc/php/7.2/fpm/php.ini, nano /etc/php/7.1/fpm/php.ini - соответственно
      Находим и меняем значения
       
      Перезапускаем службу
      service php7.3-fpm restart (service php7.2-fpm restart, service php7.2-fpm restart)
       
      Донастройка maraidb
      а) скрипт настройки безопасности
      Запускаем
      mysql_secure_installation Ответы с описанием под спойлером
      б) скрипт захода в mysql из рута без пароля
      Сильно пригодится, когда много баз вручную дампить придется. Да и вообще - считаю нужный скрипт.
      Создаем скрипт
      nano /root/.my.cnf Вставляем
      Ставим на него права и владельца
      chown root:root /root/.my.cnf; chmod 600 /root/.my.cnf  
      Перезапускаем службу
      service mysql restart  
      Настройка nginx
      а) правим конфиг
      В стандартном конфиге нужно поменять пользователя на www-data, включить сжатие, установить количество worker_processes равное количеству процессоров VPS, worker_connections (это значение, умноженное на worker_processes даст максимально возможное количество одновременных пользователей), по аналогии  с apache - указать брать конфиги сайтов из /etc/nginx/sites-enabled/.
      Чтобы не морочиться даю готовый конфиг, в нем надо поменять только значения worker_processes и worker_connections (выделено жирным)
      Сохраняем старый конфиг
      cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak Очищаем
      > /etc/nginx/nginx.conf Открываем
      nano /etc/nginx/nginx.conf Вставляем
      б) создаем директории для хранения конфигов сайтов
      mkdir /etc/nginx/sites-available ; mkdir /etc/nginx/sites-enabled в) создаем шаблон параметров работы с PHP-fpm
      Чтобы не указывать в конфиге каждого сайта одни и теже параметры для работы с PHP-fpm, создаем шаблон, который будем инклюдить в каждый конфиг
      Создаем директорию для хранения шаблонов
      mkdir /etc/nginx/templates Создаем сам шаблон
      nano /etc/nginx/templates/php-fpm.conf Вставляем (обратите внимание на версию PHP - выделено жирным, для 7.2 и 7.1 - соответственно поменять)
       
      Letsencrypt-сертификаты
      От писания данного талмуда целый день уже голова пухнет и не могу припомнить почему я отказался от установки certbot на сам сервер и обновления сертификатов по расписанию cron'ом. Смутно припоминаю, что вроде как в Jessie он не входит в стандартный репозиторий, а собираемый из исходников имеет какие-то проблемы с зависимостями (в stretch работает).
      Но не суть важно.
      В общем, сертификаты я получаю на локальной машине и кладу их в /root/.certrs. С учетом того, что LetsEncrypt сейчас раздает wildcard сертификаты на три месяца, раз в три месяца проделать эту процедуру не считаю сложным вообще, во всяком случае на десяток имеющихся сайтов. Тем более, что за две-три недели до истечения срока они на почту задолбут, что сертификаты заканчиваются, захочешь пропустить - не пропустишь.
      Про запуск certbot на Windows - гуглите.
      Про запуск certbot на локальном linux начиная со stretch.
      apt-get install certbot запрос сертификата (от рута)
      certbot certonly --agree-tos -d mysite.ru -d *.mysite.ru --preferred-challenges dns --manual --server https://acme-v02.api.letsencrypt.org/directory mysite.ru меняем на свой домен. В одном запросе можно получить хоть сколько сертификатов (не помню максимум, но много), перечислив домены после ключа -d. Но т.к. он будет последовательно давать DNS-записи, которые нужно внести, то желательно: один запрос - один домен (в смысле пара mysite.ru и *.mysite.ru - для wildcard сертификата).
      Скрипт спросит о внесении вашего IP в базу
      Ответить Y
      Потом выдаст значение первой TXT-записи DNS _acme-challenge.mysite.ru, (например, такой YimPRyMcm8rEzxYCrsgK80hVKgk0YpJGazuZ_pcFlIg), которую надо вручную добавить на ваш NS-сервер и будет ждать нажатия Enter для продолжения.
      Вносим запись, жмем Enter.
      Появится вторая запись. Ее вносим, но Enter не жмем, а ждем минут 30 пока записи ДНС применятся. У меня обычно минут 15-20 применяются, мы же не А-записи меняем, так что тут все быстро.
      Подождали, нажали Enter, Letsencrypt опросил DNS-сервер и если записи нашел, то пишет поздравительную петицию на полэкрана и сохраняет в /etc/letsencrypt/archive/mysite.ru четыре файла: cert1.pem, chain1.pem, fullchain1.pem, privkey1.pem.
      Убираем из названий цифру 1 и получившиеся файлы передаем на сервер (я, например, sshfs пользуюсь для передачи файлов, кому-то удобнее ftp - про его настройку выше писалось).
      На сервере:
      Создаем директорию для хранения сертификатов
      mkdir /root/.certs В ней директории для сайтов
      mkdir /root/.certs/mysite.ru mkdir /root/.certs/mysite2.ru mkdir /root/.certs/mysite3.ru Копируем в соответсвующую директорию полученные сертификаты.
      Также, создаем в нужной директории ключ, использующий алгоритм Диффи Хельмана
      openssl dhparam -out /root/.certs/mysite.ru/dh.pem 2048  
      Запускаем сайт
      Ну и наконец заключительная часть
      а) создаем непосредственно конфиг сайта для mysite.ru для Opencart.
      Включает в себя редиректы с www на без_www, а также с http на https. Корректно работает с ЧПУ. У себя ошибок пока не наблюдал, все сборки и все модули работают.
      Раньше использовал одинаковые конфиги и для Opencart 2 и для Opencart 3.
      Сейчас нашел для себя удобным для тройки в /var/www также как и для двойки создавать директорию mysite.ru, но уже в ней поддиректорию shop, куда класть саму сборку. В результате когда storage выносится на уровень вверх он оказывается не в общей свалке всех остальных доменов, а в /var/www/mysite.ru. Туда же направляю error и access логи nginx. Все получается в одном месте. Поэтому для тройки дам немного в этой части модернизированный.
      В остальном конфиги идентичны.
      Opencart 2
       
      Opencart 3
       
      Бонусом - если вдруг кому надо будет рабочий конфиг для wordpress
       
      б) создаем ссылку в sites-enabled
       
      ln -s /etc/nginx/sites-available/mysite.ru /etc/nginx/sites-enabled в) создаем директорию для хранения файлов сайта
      для Opencart 2
      mkdir /var/www/mysite.ru для Opencart 3
       
      mkdir -p /var/www/mysite.ru/shop г) перезапускаем службу
      service nginx restart д) после копирования файлов в директорию сайта, не забываем обновлять  права и владельца (см.выше про proftpd)
      если используем доступ по ftp кого-то, кому нужна запись в каталоги
      chown -R www-data:www-data /var/www && find /var/www -type f -exec chmod 664 {} \; && find /var/www -type d -exec chmod 775 {} \; если без ftp или ftp только посмотреть
      chown -R www-data:www-data /var/www && find /var/www -type f -exec chmod 644 {} \; && find /var/www -type d -exec chmod 755 {} \;  
      ВСЕ, БЛИН, ЗАКОНЧИЛ!
      В таком виде оно заработает. Ну а дальше веселуха по тонкой настройке mariadb и пр. и пр.
      Если кому-то будет полезно, буду рад.
       
       
    • By fduw
      У меня есть наброски для FastCgi Cache:
      fastcgi_temp_path /dev/shm/ngx_cache; fastcgi_cache_path /dev/shm/ngx_cache/ngx_fcgi-cache levels=1 keys_zone=phpcache:64m max_size=200m inactive=1d; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_store on; fastcgi_cache_lock on; fastcgi_cache phpcache; # The name of the cache key-zone to use fastcgi_cache_valid 200 301 302 304 30m; # кешировать ответы с кодом 200 и.т.д на 1 час fastcgi_cache_min_uses 1; # Кол-во запросов, после которых ответ будет закеширован # Выдаем всегда свежий Last-Modified. expires -1; # Внимание!!! Эта строка expires необходима! add_header Last-Modified $sent_http_Expires; fastcgi_hide_header Set-Cookie; fastcgi_cache_use_stale updating error timeout invalid_header http_500; # Используем вариант из кеша (даже если он устарел) в случае ошибки add_header X-Fastcgi-Cache $upstream_cache_status; # Add header so we can see if the cache hits or misses Но есть очень большое но которое мешает его использовать!
      ЭТО кеширование ВСЕГО и ВСЯ!
      Как только не пытался его отключить на не нужных страницах!
      fastcgi_no_cache $no_cache; fastcgi_cache_bypass $no_cache; location ~ ^/(admin/*|my-account|index.php?route=account/simpleedit|change-password|address-book|wishlist|newsletter|reward-points|returns|order-history|downloads|transactions|index.php?route=account/recurring|index.php?route=account/logout){ set $no_cache 1; }  
      Нужно его отключать на сайте где url начинается с:
      admin/*|my-account|index.php?route=account/simpleedit|change-password|address-book|wishlist|newsletter|reward-points|returns|order-history|downloads|transactions|index.php?route=account/recurring|index.php?route=account/logout Но чет не получается
    • By fduw
      Поставил OcStore 2.3 на Nginx.
      Конфиги:
      Nginx.conf
       
      Для сайта:
       
      Ставлю чистый OcStore 2.3
       
      После установки появилась проблема.
       
      Не могу зайти в админку!
       
      Пишу правильные данные.
      И на сайте не могу переключить язык.
       
      Какая то хрень блокирует отправку или получение Post запроса. Либо что еще.
      Firewall отключал.
       
      OcStore 3 работает без проблем.
       
      В php-fpm, nginx ошибок нет
       
       
      Когда пытаюсь восстановить пароль от админки пишет
      maillog
      postfix/sendmail[3637]: fatal: parameter inet_interfaces: no local interface found for ::1 Куда копать?
       
      Ос Oracle 7.6, NGINX 1.17.1(Не стабильная)
    • By Yoda
      Подскажите пожалуйста, есть  магазин, 470 000 товаров в одной категории.
      На выделенном сервере Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz (8 cores) 16ГБ .
      У товара 20 атрибутов, - суммарно выходит порядка 10М значений атрибутов (которые надо считать на-лету). 
      Весь каталог работает через промежуточную прокладку в виде Sphinx-демона. 
      Файлы индекса сфинкса лежат в RAM диске в оперативной памяти.
      (выборка товаров в категории, подсчет количества значений атрибутов в фильтре, все все все, что можно крутится на сфинксе)
      После партицирования индекса на 8 частей и перенастройки конфигурации демона для использования всех 8 ядер процессора, удалось снизить время реакции фильтра с 5 до 1-1.2сек.
      Среднее время генерации страниц в районе 600мс. При переходе на php7.2 - будет порядка 400-450.
      Владелец магазина возмущается, ему не достаточно скорости.
      Подскажите, что можно сделать для ускорения магазина?
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.