TurboGears-배포

개발 환경에서 본격적인 프로덕션 환경으로 전환하려면 애플리케이션을 실제 웹 서버에 배포해야합니다. 보유하고있는 항목에 따라 TurboGears 웹 애플리케이션을 배포하는 데 사용할 수있는 다양한 옵션이 있습니다.

mod_wsgi를 사용하는 Apache

mod_wsgi는 Graham Dumpleton이 개발 한 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

Circus는 프로세스 및 소켓 관리자입니다. 프로세스와 소켓을 모니터링하고 제어하는 ​​데 사용할 수 있습니다. Chaussette WSGI 서버와 함께 사용하면 애플리케이션을 배포하고 애플리케이션에 필요한 모든 관련 프로세스를 관리 할 수있는 강력한 도구가 될 수 있습니다.

TurboGears-GoogleAppEngine

다음 URL에서 Python 용 Google AppEngine SDK를 설치합니다. 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에서 애플리케이션을 실행하고 찾아보기 버튼을 클릭하여 애플리케이션이 localhost에서 제대로 작동하는지 확인합니다.

개발자 콘솔에 이미 mytgapp이라는 프로젝트를 만들었습니다. 이제 Launcher에서 배포 버튼을 클릭하십시오. 배포 프로세스가 끝나면http://mytgapp.appspot.com/ 온라인으로 신청서를 보려면 방문하십시오.