वीर

18 มิถุนายน 2008

ทำให้ Turbogears + mod_wsgi ใช้งานกับ non-root mounted app

Filed under: Uncategorized — Tags: , , , , , , , — वीर @ 15:16

วิธีทำจริงๆ ก็อ่านจาก http://www.lucasmanual.com/mywiki/TurboGears#head-57ee578707aa057229eb1171a8e4aeb553bd6d3a มาเกือบหมด. แต่ว่าเขียนเสียหน่อยเพื่อความต่อเนื่องจากที่เขียนไว้เดิม. เริ่มจากแก้ /home/veer/tg/tgapp/apache/tg.wsgi:


import sys
sys.path.append('/home/veer/tg/tgapp')
sys.stdout = sys.stderr

import os
os.environ['PYTHON_EGG_CACHE'] = '/home/veer/tg/python-eggs'

import atexit
import cherrypy
import cherrypy._cpwsgi
import turbogears

# ข้างล่างเปลี่ยนไปใช้ fullpath แทนที่จะเขียน prod.cfg หรือ dev.cfg เฉยๆ
turbogears.update_config(configfile="/home/veer/tg/tgapp/prod.cfg", modulename="tgapp.config")
turbogears.config.update({'global': {'server.environment': 'production'}})
turbogears.config.update({'global': {'autoreload.on': False}})
turbogears.config.update({'global': {'server.log_to_screen': False}})

import tgapp.controllers

cherrypy.root = tgapp.controllers.Root()

if cherrypy.server.state == 0:
    atexit.register(cherrypy.server.stop)
    cherrypy.server.start(init_only=True, server_class=None)

application = cherrypy._cpwsgi.wsgiApp

จริงๆ แล้วก็แก้บรรทัดเดียว :-P … แต่ตอนลองทำงงเหมือนกัน

แล้วก็ไปสร้าง server.log ใน /home/veer/tg/tgapp/server.log อันนี้มีก็ทำแบบชั่วคราวๆ :-P (อีกแล้ว)

(อยู่ใน /home/veer/tg/tgapp)
touch server.log
chmod 777 server.log

ตามด้วยแก้ /home/veer/tg/tgapp/prod.cfg ทีแรกมันไม่มีให้แก้ก็เลยต้อง copy sample-prod.cfg มา

เพิ่ม server.webpath=”/first” เข้าไป (จริงมี # server.webpath=”" อยู่แล้ว ก็แค่เอา shape ออกแล้วใส่ /first ลงไป) แก้ path ของ server.log แบบนี้ args=”(’/home/veer/tg/tgapp/server.log’,)” จากที่เดิมเขียนไว้ว่า args=”(’server.log’,)”

ตามด้วยแก้ /etc/apache2/mod-enabled/mod-wsgi.conf เดิมเขียนไว้ว่า
WSGIScriptAlias / /home/veer/tg/tgapp/apache/tg.wsgi
ก็แก้เป็น
WSGIScriptAlias /first /home/veer/tg/tgapp/apache/tg.wsgi
เพื่อเปลี่ยนที่ mount

แล้วก็ restart apache ( /etc/init.d/apache restart ) จากนั้นพอเข้าไปดูใน localhost/first ก็ได้ผลตามต้องการ

… ต่อไปก็เป็น userdir T_T (เหมือนหา doc ไม่ค่อยเจอด้วย :-P)

No Comments Yet »

ยังไม่มีความคิดเห็นใดๆ

RSS feed สำหรับความคิดเห็นในกระทู้นี้ TrackBack URI

เขียนความคิดเห็นของคุณ

บลอกที่ WordPress.com .