• Home
  • Учебник по ExtJS
  • О сайте
  •  


    Бесплатный хостинг в стиле Google App Engine

    Август 6th, 2008

    Оригинал статьи – http://blog.appenginefan.com/2008/04/free-webhosting-google-app-engine-style.html

    Недавно я обсуждал проблему, как можно выжать больше возможностей из тех 10 приложений, которые допускается создать во время тестового периода. Что делать, если стоит совершенно противоположная задача? Что если зарегистрирован хороший идентификатор приложения и нет никаких идей, как правильно его использовать? Почему бы не запустить на нем свой персональный сайт со статичным содержимым? Тем более, что это все бесплатно :-)

    Самое маленькое приложение

    Следующий файл app.yaml является полноценным приложением под App Engine. Достаточно поместить все файлы в каталог «static» и сайт будет работать:

    application: mysite
    version: 1
    runtime: python
    api_version: 1
    
    handlers:
    - url: /(.*)
    static_files: static/\1
    upload: static/(.*)

    Как это работает? Регулярное выражение «/(.*)» указывает на то, что «должен быть обслужен любой входящий запрос.» Следующая строка указывает приложению искать статический файл с именем, совпадающим с запросом, в каталоге «static». Последней строчкой мы задаем необходимость опубликовать этот каталог, как содержащий статический контент нашего приложения.

    Другими словами, в простом случае мы можем перевести наш персональный сайт на платформу App Engine, выполнив некоторые действия по настройке файла конфигурации. Но подождите, это еще не все:

    Настройка шаблонов

    Большинство разработчиков платформы App Engine в первые дни открытия попросили компанию Google включить в движок реализацию языка PHP. Безусловно для этого имеются множество причин, но я сомневаюсь что большинство типичных задач, для которых используется PHP, не покрываются возможностями шаблонов Django. Если, к примеру, вы используете PHP только для того, чтобы дублировать в каждой странице сайта одну и ту же навигационную панель, то App Engine это для вас.

    Посмотрите на сайт Training Wheels. Он является примером того, как с помощью файла app.yaml можно реализовать обработку страниц с более сложной структурой:

    • запросы к файлам, которые не заканчиваются строками «django» и «djhtml» обрабатываются как статический контент
    • запросы же к файлам с расширениями «django/djhtml» обрабатываются с помощью шаблонной системы Django

    В других словах вы можете использовать богатейшие возможности шаблонов Django, без написания единой строчки кода на языке Python. Для дополнительной информации – обратитесь к разделу Downloads рассматриваемого выше сайта.

    Обработка больших файлов

    На сегодняшний момент, существуют ограничения на размер одного файла, размещаемого на платформе App Engine. Тем не менее, независимо от размера файла может иметь смысл разместить большие файлы в другом месте, к примеру на Google Sites. Причина, почему это стоит сделать: квота. К примеру, если вы выложите для загрузки большой файл (типа большого pdf документа), его могут скачивать много раз за день. Что можно сделать, чтобы не закончилась квота? Достаточно создать раздел «file bin» на Google Sites, загрузить в него большие файлы, которые также будут размещаться там без взимания платы. Для примера смотрите раздел Downloads вышеприведенного сайта.

    В завершении

    Таким образом, если вы еще не придумали какое прорывное приложение можно создать на платформе, есть смысл начать с миграции на нее вашего персонального сайта. Это не только позволит сэкономить несколько баксов в год, а также получить дополнительные возможности по созданию динамического контента на Google App Engine, когда они вам понадобятся.