TurboGears - การปรับใช้

ในการเปลี่ยนจากสภาพแวดล้อมการพัฒนาเป็นสภาพแวดล้อมการใช้งานจริงที่สมบูรณ์แอปพลิเคชันจำเป็นต้องปรับใช้บนเว็บเซิร์ฟเวอร์จริง มีตัวเลือกต่าง ๆ สำหรับปรับใช้เว็บแอปพลิเคชัน TurboGears ทั้งนี้ขึ้นอยู่กับสิ่งที่คุณมี

Apache กับ mod_wsgi

mod_wsgi เป็นโมดูล Apache ที่พัฒนาโดย Graham Dumpleton อนุญาตให้ใช้โปรแกรม WSGI โดยใช้เว็บเซิร์ฟเวอร์ Apache

ประการแรกติดตั้ง Apache 2.X สำหรับแพลตฟอร์มของคุณหากยังไม่ได้ดำเนินการ เมื่อคุณติดตั้ง Apache แล้วให้ติดตั้ง mod_wsgi สร้างและเปิดใช้งานสภาพแวดล้อมเสมือน Python บนเซิร์ฟเวอร์และติดตั้ง TurboGears ในนั้น

ติดตั้งแอปพลิเคชันของคุณภายใน Application Director จากนั้นสร้างสคริปต์ชื่อ 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

Circus เป็นผู้จัดการกระบวนการและซ็อกเก็ต สามารถใช้เพื่อตรวจสอบและควบคุมกระบวนการและซ็อกเก็ต เมื่อจับคู่กับเซิร์ฟเวอร์ Chaussette WSGI จะกลายเป็นเครื่องมือที่มีประสิทธิภาพในการปรับใช้แอปพลิเคชันของคุณและจัดการกระบวนการที่เกี่ยวข้องกับแอปพลิเคชันของคุณที่คุณต้องการ

TurboGears - GoogleAppEngine

ติดตั้ง Google AppEngine SDK สำหรับ Python จาก URL ต่อไปนี้ - https://cloud.google.coms

ติดตั้ง Google AppEngine ในระบบของคุณ จากนั้นเปิด Google Developer Console และลงชื่อเข้าใช้ด้วยบัญชี 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/ เยี่ยมชมเพื่อดูใบสมัครของเราทางออนไลน์