Для перехода от среды разработки к полноценной производственной среде необходимо развернуть приложение на реальном веб-сервере. В зависимости от того, что у вас есть, для развертывания веб-приложения TurboGears доступны разные варианты.
Apache с mod_wsgi
Mod_wsgi — это модуль Apache, разработанный Грэмом Дамплтоном. Он позволяет обслуживать программы WSGI с помощью веб-сервера Apache.
Во-первых, установите Apache 2.X для вашей платформы, если это еще не сделано. После установки Apache установите mod_wsgi. Создайте и активируйте виртуальную среду Python на сервере и установите на нем TurboGears.
Установите ваше приложение в директории приложения, затем создайте скрипт с именем app.wsgi .
Настройте установку Apache следующим образом:
<VirtualHost *:80> ServerName www.site1.com WSGIProcessGroup www.site1.com WSGIDaemonProcess www.site1.com user = <username> group = www-data threads = 4 python-path = <pythonpath> WSGIScriptAlias myapp/app.wsgi #Serve static files directly without TurboGears Alias /images Alias /css Alias /js CustomLog ErrorLog </VirtualHost>
Перезапустите Apache
Введите http://www.site1.com/ в браузере, чтобы получить доступ к приложению.
TurboGears под цирк и шоссет
Цирк — менеджер процессов и сокетов. Он может быть использован для мониторинга и контроля процессов и сокетов. В сочетании с сервером Chaussette WSGI он может стать мощным инструментом для развертывания приложения и управления любым связанным процессом, в котором нуждаются ваши приложения.
TurboGears — GoogleAppEngine
Установите Google AppEngine SDK для Python по следующему URL-адресу — https: //cloud.google.coms
Установите Google AppEngine в своей системе. Затем откройте консоль разработчика Google и войдите в свою учетную запись Google — https://console.developers.google.com/start.
Создайте новый проект под названием mytgapp —
Используя Google AppEngine Launcher, создайте новое приложение с именем mytgapp.
Следующие файлы будут созданы в указанном каталоге —
- app.yaml
- favicon.ico
- index.yaml
- main.py
По умолчанию созданное приложение использует платформу Webapp2. Чтобы удалить эту зависимость, отредактируйте файл app.yaml и удалите следующую часть:
libraries: - name: webapp2 version: "2.5.2"
Создайте временную виртуальную среду в каталоге с именем mytgapp и установите TurboGears. Создайте в нем приложение TurboGears. Теперь мы можем продолжить редактирование файла main.py, который запускается AppEngine, чтобы запустить наше приложение и фактически написать там приложение TurboGears.
Добавьте следующее содержимое в main.py —
import os import site site.addsitedir(os.path.join(os.path.dirname(__file__), 'packages')) from tg import expose, TGController, AppConfig class RootController(TGController): @expose() def index(self): return "<h1>Hello World</h1>" config = AppConfig(minimal = True, root_controller = RootController()) app = config.make_wsgi_app()
Теперь запустите приложение из AppEngine Launcher и нажмите кнопку обзора, чтобы убедиться, что приложение работает на локальном хосте.
Мы уже создали проект с именем mytgapp в консоли разработчика. Теперь нажмите кнопку развертывания в Launcher. После завершения процесса развертывания посетите веб-сайт http://mytgapp.appspot.com/, чтобы просмотреть наше приложение в Интернете.