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/ เยี่ยมชมเพื่อดูใบสมัครของเราทางออนไลน์