CMS NetCat создание сайта
На сайте
cms netcat сказано, что "c умом" написаный сайт на стандартной копии Netcat легко выдержит большую нагрузку. В этом разделе мы рассмотрим как создать сайт "с умом" и доработаем стандартную копию под наши нужды (да простят меня разработчики, но с другой стороны что мешает им это реализовать).
13 мая вышел официальный релиз NetCat 3.5, отличительной особенностью которого является наличие модуля кеширования. За счет этого модуля даже начинающие разработчики могут создавать сложные проекты на системе NetCat. Как я уже писал ранее, при разработке большого проекта на CMS NetCat нужно учитывать ряд особенностей, которые могут значительно замедлить работу сайта и дать высокую нагрузку на сервер, что в свою очередь приведет к медленной работе остальных сайтов, расположенных на сервере.
Примеры использования кеша:
- Кеширование блока новостей, выводимого на главной странице или на всех страницах сайта.
- Кеширование меню, которые выводятся на всех страницах сайта
- Кеширование списка новостей или отображения одной новости с картинками (создание ссылки на картинку также дает дополнительную нагрузку)
Практика показала что применение кеширования по данным примерам снижает нагрузку на 10-20%. Пока еще кеширование не охватывает все функции системы и группа разработчиков NetCat работает в этом направлении, принимая предложения и пожелания официальных дилеров и клиентов.
Недавно на хабре опубликовали заметку
"О том, как не надо делать сайты на NetCat". Но ваша радость была бы неполной, если бы я ее не дополнил. Описанные тонкости при работе с системой я уже озвучивал на форуме нетката, отвечая на вопросы пользователей по icq и в блоге. Собрать все свои мысли в кучу и опубликовать все никак не хватало времени. И вот недавно создал блог для записи и публикации всех мыслей по NetCat.
Список мыслей:
Далее... »
Пока компания Аист готовит к выпуску новую версию NetCat, которая будет включать модуль кэширования, расскажу как можно организовать кеширование на любой существующей версии (за исключением SB).
На многих сайтах есть информационные блоки, которые показывают одну и ту же информацию на всех страницах сайта. Например, последние новости, последние статьи, контакты. Самый простой спобов вывода таких блоков - функция s_list_class, но как
я уже писал, она слишком ресуркоемкая для простых операций. Наилучшим способом оптимизации вывода таких блоков является кеширование, поскольку эти блоки обновляются очень редко по сравнению с количеством их просмотров.
При кешировании данных, возникает вопрос о том где их хранить. Если мы используем файлы, то для получения этих данных нужно будет дополнительно считать их с диска. Но можно избежать дополнительных запросов, если хранить кэшируемые данные вместе с системными данными которые и так считываются при каждом создании страницы. В качестве таких хранилищ можно использовать поля сайта или раздела. Если выодимая информация зависит от раздела, то сохранять кеш нужно в полях раздела, если на всем сайте она не меняется, то в полях сайта.
Далее... »
Последнее время участились случаи взлома старых версий NetCat с использованием php инклюдинга. Для предотвращения массового взлома сайтов компания Аист
провела акцию по бесплатной раздаче обновлений до версии NetCat 2.4.
Смысл взлома заключается в прямом обращении к файлам, которые при нормальной работе подключаются после загрузки конфигурационного файла. В данном же случае конфигурационный файл не загружен и не определены основные параметры системы, которые может определить атакующий по своему усмотрению. Например, переменная, определяющая в какой папке установлена система. Подставив в нее ссылку на удаленный сайт, система загрузит его и выполнит написанный в нем код.
Далее... »
При разработке сайта необходимо следить за скоростью его работы, ведь чем больше будет посетителей у сайта тем большую нагрузку он будет давать на сервер и тем дороже будет обходиться эксплуатация сайта. Узкими местами в скорости работы сайта обычно становятся: чтение с диска и компиляция большого количества файлов и работа с базой данных. Если с первым отлично справляется eAccelerator (оптимизирует, компилирует и хранит файлы в памяти что значительно ускоряет загрузку), то для работы с базой данных нужно иметь много знаний о пинципах работы и иметь опыт.
В CMS NetCat (как и в любой другой CMS) за вас уже все продумали програмисты и вам остается только пользоватся готовыми решениями и специалными документированными функциями. Например, если вам нужно вывести последние новости в какой-то части сайта, то вы просто вставляете в макет фунцию ".s_list_class(xx,yy,"recNum=zz").", указывете из какого раздела брать новости (xx), номер компенента в разделе (yy) и кол-во выводимых новостей (zz) и все готово. Таким образом можно вывести любую информацию из любого раздела. Но за универсальностью скрывается повышеная нагрузка на систему.
Далее... »
Первое что сделаем после установки netcat - настроим отображение ошибок. По-умолчанию, в целях безопасности, отображение всех сообщений об ошибках необходимо отключить.
файл .htaccess должен содержать строку:
php_flag error_reporting off
, a в vars.inc.php заменяем error_reporting(E_ALL^E_NOTICE); на error_reporting(0); и $SHOW_MYSQL_ERRORS устанавливаем значение off.
Но что, если вдруг в процессе разработки мы допустим ошибку и для исправлениия нам нужно знать в каком месте она произошлаш
Далее... »