以下是我在Mac OS X Snow Leopard上需要做的:
-
将djangoappengine目录直接放在“根/公共应用程序”中。如果将其放在公共应用程序目录之外,AppEngine可能会混淆,并使用djangoappEngine目录作为项目目录,而不是使用根目录作为项目目录。您可能还需要添加
初始化
.py到您的公共应用程序目录。
-
将django unrel放在根目录之外,并从root/common apps/django到nonroot/django unrel/django建立一个符号链接。如果将django nonrel直接放入公共应用程序目录,则在部署时可能会超过应用程序引擎上的3000个文件上载限制。
-
创建一个空的根目录/公用目录。passenger使用此目录的父目录作为项目根目录。
-
如下配置您的Apache vhost,假设myAppName.local是您的/etc/hosts
-
创建passenger_wsgi.py并将其放到根目录中,如下所示。
Vist:
<VirtualHost *:80>
ServerName MYAPPNAME.local
DocumentRoot /Users/mike/Projects/ROOT/public
<Directory /Users/mike/Projects/ROOT/public>
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
乘客姓名:
import os, sys
sys.path.append('/Users/mike/Projects/ROOT/')
sys.path.append('/Users/mike/Projects/ROOT/common-apps/')
sys.path.append('/Users/mike/Projects/NONROOT/django-nonrel/')
sys.path.append('/usr/local/google_appengine/')
sys.path.append('/usr/local/google_appengine/lib/yaml/lib/')
sys.path.append('/usr/local/google_appengine/lib/antlr3/')
sys.path.append('/usr/local/google_appengine/lib/django/')
sys.path.append('/usr/local/google_appengine/lib/cacerts/')
sys.path.append('/usr/local/google_appengine/lib/ipaddr/')
sys.path.append('/usr/local/google_appengine/lib/webob/')
sys.path.append('/usr/local/google_appengine/google/appengine/api/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
希望我没有遗漏任何重要的事情。