0 follower

Końcowe dopieszczanie oraz wdrażanie

Zbliżamy się do zakończenia prac nad naszym blogiem. Zanim go wdrożymy chcielibyśmy dokonać kilku ulepszeń.

1. Zmiana strony domowej

Ustawimy stronę wyświetlająca listę wiadomości jako stronę domową. W tym celu zmienimy konfigurację aplikacji w następujący sposób,

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

Wskazówka: Ponieważ kontroler PostController zawiera już akcję list jako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcję list kontrolera wiadomości.

2. Włączenie buforowania schematu bazy

Ponieważ rekord aktywny wykorzystuje metadane pochodzące z tabel w celu określenia informacji o kolumnach, zajmuje mu trochę czasu ich odczytanie oraz przeanalizowanie. Może to nie być problemem podczas fazy tworzenia aplikacji ale dla aplikacji działającek w trybie produkcyjnym, jest to totalne marnotrawstwo czasu, jeśli schemat bazy danych nie zmienia się. Dlatego też, włączymy buforowanie schematu poprzez zmodyfikowanie
konfiguracji aplikacji w następujący sposób,

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

W powyższym kodzie, najpierw dodaliśmy komponent buforowania cache, który używa domyślnie bazy danych SQLite jako miejsce składowania bufora. Jeśli twój serwer jest wyposażony w inne rozszerzenie buforujące, takie jak APC, moglibyśmy przełączyć się równie dobrze na jego używanie. Zmodyfikujemy również komponent db poprzez
ustawienie jego właściwości schemaCachingDuration na wartość 3600, co oznacza, że przeanalizowane dane schematu bazy danych pozostaną ważne w buforze na okres 3600 sekund.

3. Wyłączanie trybu debugowania

Zmodyfikujemy plik wejściowy /wwwroot/blog/index.php poprzez usunięcie linii definiującej stałą YII_DEBUG. Stała ta jest użyteczna podczas fazy tworzenia, gdyż pozwala ona Yii wyświetlać więcej informacji użytecznych dla debuggowania w przypadku wystąpienia błędu. Jednakże, jeśli aplikacja działa w trybie produkcyjnym, wyświetlanie takich informacji nie jest najlepszym pomysłem ponieważ mogą one zawierać wrażliwe informacje takie jak miejsce, gdzie skrypt się znajduje, oraz zawartość jego pliku, itp.

4. Wdrażanie aplikacji

Końcowy proces wdrażania aplikacji składa się głównie z kopiowania katalogu /wwwroot/blog do katalogu docelowego. Następujący wykaz czynności kontrolnych pokazuje wszystkie potrzebne kroki:

  1. Zainstaluj Yii w docelowym miejscu jeśli nie jest ono jeszcze tam dostępne;
  2. Skopiuj całą zawartość katalogu /wwwroot/blog do miejsca docelowego;
  3. Wyedytuj plik skrytu wejściowego index.php poprze wskazanie zmiennej $yii na nowy plik rozruchowy (ang. bootstrap file);
  4. Wyedytuj plik protected/yiic.php poprzez ustawienie zmiennej $yiic wskazujące
    na nowy plik yiic.php;
  5. Zmień uprawnienia do katalogów assets oraz protected/runtime tak aby były one zapisywalne przez proces Web serwera.