CppCMS - фреймфорк C++. Преимущества. Подготовка сервера. Установка

Уровень сложности: 

Фреймворк CppCMS используется для разработки быстрых Интернет-сервисов на языке C++. Программы на языке C++ ускоряют работу веб-сайта, сокращают потребляемые ресурсы, время ответа сервера, время обработки запроса. Готовый машинный код компилированных программ веб-сайта исполняется быстрее, чем код на интерпретируемых языках, как например PHP, Perl. Использование фреймворка CppCMS даёт набор готовых решений и компонентов.

CppCMS - это инструмент разработки веб-сервисов реального времени. Высоконагруженные сайты с тысячами обращений в секунду, в отличие от небольших Интернет-сайтов, требуют оптимизации использования ресурсов и ускорения работы. Язык программирования C++ вместе с готовыми решениями CppCMS могут применяться для эффективного решения задач при разработке веб-сайтов, сервисов и приложений.
Создаваемые на C++ веб-приложения, сетевые службы, интерфейсы, интерактивные сервисы позволяют оптимизировать работу сайта с высокой нагрузкой за счёт ускорения отдельных функций или всех программ сайта.

 

Какие задачи эффективно решаются с применением CppCMS?

  • Сайты с высокой нагрузкой, для которых важны критерии: скорость работы, эффективность, время отклика сервера, количество одновременных соединений.
  • CppCMS рассчитана на обеспечение бесперебойной работы с сотнями тысяч HTTP-соединений одновременно.
  • Сервисы, работающие в режиме реального времени. Например, push-уведомления технологии Comet/Server.
  • Вспомогательные или служебные веб-сервисы с большим количеством одновременно обрабатываемых запросов.
  • Также CppCMS может использоваться для разработки не сетевых программ и встраиваемых систем.

Если скорость работы вашего сервера при разработке сайтов на других платформах (Drupal, Django, ASP.NET) создаёт неудобства для пользователей, кеширование и распределение нагрузки между серверами решает задачу дорого и неэффективно, вам стоит использовать CppCMS.

 

Преимущества CppCMS

  • Высокая производительность систем при масштабировании проектов и увеличении нагрузки
  • Сокращение потребляемых ресурсов (процессорного времени, памяти)
  • Экономия вычислительных мощностей (1 сервер вместо серверной фермы)
  • Прямая логика разработки (разработка и внедрение алгоритмов и интерфейсов системы вместо оптимизации и распределения вычислений)
  • Более точная диагностика аварий и обеспечение высокого уровня надёжности разрабатываемых систем
  • CppCMS, как инструмент разработчика, обеспечивает уровень виртуализации разработки, предлагает набор готовых решений.

 

Для примера, как создать страницу с исполняемым C++ кодом: http://www.youtube.com/watch?v=7VcxdZbXkOc

 

Как работать с CppCMS

CppCMS может работать на Интернет-сервере (VPS / VDS) или на локальном веб-сервере. Фреймворк работает на Windows, Linux. Для пользователей Linux ниже предложены инструкции установки и настройки веб-сервера на ОС Убунту.

Для работы CppCMS и сайтов мы установим веб-сервер Nginx, PHP FastCGI, MySQL и компилятор C++, а также необходимые пакеты (зависимости).

Для написания кодов и работы над проектами используйте IDE - среду разработки на C++. Например, Code::Blocks или другие по совету Artemiz на Хабре.

 

Установка веб-сервера Nginx + php5-fpm + mysql

Подготовьте сервер и настройте сайт на локальном хосте или на VPS.
Установка nginx описана тут: http://help.ubuntu.ru/wiki/nginx-phpfpm
Установка mysql : http://help.ubuntu.ru/wiki/mysql
Установка phpmyadmin : http://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1...

Далее продолжим подготовку сервера к работе с CppCMS.

 

Как установить CppCMS на веб-сервер Ubuntu

Подробное руководство по установке предложено на русском: http://cppcms.com/wikipp/ru/page/cppcms_1x_build

Если у вас сложности с зависимостями и пакетами Убунту

Обязательные требования

Современный C++ компилятор -- GCC, MSVC 9, Intel. См. поддерживаемые компиляторы и платформы
CMake 2.6 и выше, рекомендуется 2.8.x.
Библиотека Zlib.
Библиотека PCRE.
Python >=2.4 (но не 3)

Всё это устанавливается так:

sudo apt-get install gcc g++ cmake zlib1g-dev libpcre3 libpcre3-dev python

Если не получается, тогда установите через центр приложений или Synaptic, в котором можно искать и добавлять необходимые библиотеки (часто имена библиотек подсказывают имя пакета, например, библиотека zlib доступна в пакете zlib1g-dev ).
Для установки и запуска Synaptic:
sudo apt-get install synaptic
sudo synaptic

Скачать и установить CppCMS

Тут http://sourceforge.net/projects/cppcms/files/ откройте папку cppcms и скачайте последнюю версию. На данный момент 1.0.5.

Распакуйте в папку вашего сайта.

Далее соберите проект и запустите как это предложено в руководстве:

http://cppcms.com/wikipp/ru/page/cppcms_1x_build

 

Быстрый старт на CppCMS для новичков

Разработчики фреймворка подготовили CMS для блога, которая называется CppBlog. Для старта проекта в Интернет можно начать с изучения CppBlog. Подробнее о CppBlog: http://cppcms.com/wikipp/en/page/install_cppblog

Тлито.ру будет публиковать демонстрационные статьи по разработке веб-сайтов с использованием CppCMS.