0 follower

Тонкая настройка и развёртывание

Мы близки к завершению разработки приложения - системы управления блогом. Перед развертыванием мы бы хотели сделать некоторые настройки.

1. Изменение домашней страницы

Будем использовать список записей в качестве домашней страницы. Для этого изменим конфигурацию приложения следующим образом:

return array(
    ......
    'defaultController'=>'post',
    ......
);

Подсказка: Поскольку контроллер PostController уже объявляет действие list действием по умолчанию, то при обращении к домашней странице приложения мы увидим результат, сгенерированный действием list контроллера записей.

2. Включение кэширование схемы

ActiveRecord полагается на метаданные о таблицах для определения информацию о столбце, поэтому тратится время для чтения метаданных и их анализа. Это, возможно, не проблема на стадии разработки, но для рабочего приложения это - пустая трата времени, если схема базы данных не изменяется. Поэтому мы должны включить кэширование схемы, изменив конфигурацию приложения следующим образом:

return array(
    ......
    'components'=>array(
        ......
        'cache'=>array(
            'class'=>'CDbCache',
        ),
        'db'=>array(
            'class'=>'system.db.CDbConnection',
            'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
            'schemaCachingDuration'=>3600,
        ),
    ),
);

В коде выше мы сначала добавляем компонент cache, который использует базу данных SQLite, определенную по умолчанию, как хранилище кэша. Если наш сервер имеет другие кэширующие расширения, такие как APC, мы могли бы так же легко их использовать. Мы также изменяем компонент db, устанавливая свойство schemaCachingDuration в значение 3600, что означает, что полученные данные схемы базы данных могут оставаться валидными в кэше в течение 3600 секунд.

3. Отключение дебаг-режима

Изменим файл точки входа /wwwroot/blog/index.php, удалив линию, определяющую константу YII_DEBUG. Эта константа полезна во время стадии разработки, потому что позволяет Yii отображать больше информации об отладке при возникновении ошибки. Однако, когда приложение выполняется в рабочем режиме, отображать информацию об отладке - не очень хорошая идея, потому что это может содержать секретную информацию, такую как расположение файла скрипта, содержание файла и др.

4. Развертывание приложения

Заключительное развертывание главным образом включает в себя копирование директории /wwwroot/blog в целевую директорию. Следующий контрольный список содержит все необходимые шаги:

  1. Установите Yii в место назначения, если он еще не установлен;
  2. Скопируйте всю директорию /wwwroot/blog в место назначения;
  3. Отредактируйте файл точки входа index.php, указав в переменной $yii путь к файлу начальной загрузки Yii;
  4. Отредактируйте файл protected/yiic.php, указав в переменной $yiic путь к новому файлу $yiic;
  5. Измените права директорий assets и protected/runtime так, чтобы они имели доступ на перезапись процессом Web-сервера.