将DPress部署到SAE的简要说明。如果你在部署过程中有遇到什么问题,欢迎反馈。
- 在SAE管理后台创建应用,开发语言选择python
- 使用svn将应用代码更新到本地
- 修改配置文件config.yaml
name: 你的应用名称
version: 1
libraries:
- name: django
version: "1.4"
- 将DPress sites目录下所有文件复制到SAE应用目录(如:dpress/1/)。
- 在应用的根目录下创建目录libs(如:dpress/1/libs/)
- 将virtualenv.bundle.zip复制到libs目录
- 注:virtualenv.bundle.zip为python的第三方依赖包
- 下载 virtualenv.bundle
- 在服务管理中启用mysql数据库
- 由于SAE上无法使用Django命令。需要在本地使用syncdb命令在本地mysql数据库中创建好DPress的初始数据,然后使用SAE的phpmyadmin将数据导入到SAE。
- 在服务管理中创建Storage,并将Domain设置为base
- 创建配置文件settings/local.py
# -*- coding: UTF-8 -*-
import sae.const
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': sae.const.MYSQL_DB, # Or path to database file if using sqlite3.
'USER': sae.const.MYSQL_USER, # Not used with sqlite3.
'PASSWORD': sae.const.MYSQL_PASS, # Not used with sqlite3.
'HOST': sae.const.MYSQL_HOST, # Set to empty string for localhost. Not used with sqlite3.
'PORT': sae.const.MYSQL_PORT, # Set to empty string for default. Not used with sqlite3.
}
}
DEFAULT_FILE_STORAGE = 'saestorage.SaeStorage'
FILEBROWSER_DIRECTORY = ''
STATIC_URL = 'http://vicalloy.sinaapp.com/dpress/'#修改为你静态资源位置
DPRESS_TITLE = u'天地一沙鸥'
DPRESS_SUBTITLE = u'to be continue'
DPRESS_DESCN = ''
DISQUS_SHORTNAME = ''
GOOGLE_ANALYTICS_CODE = ''
#根据你的静态资源位置进行修改
EPIC_JS = 'http://vicalloy.sinaapp.com/dpress/dpress/epiceditor/js/epiceditor.min.js'
EPIC_BASEPATH = 'http://vicalloy.sinaapp.com/dpress/dpress/epiceditor'
- 到这里服务已经可以跑起来了。由于没有对静态资源进行配置,将出现无法找到静态资源的情况。
- 创建一个新的SAE应用,应用类型选择PHP,专门用于管理DPress的静态资源文件(如:dstatic.sinaapp.com)。
- 在本地运行Django的collectestatic命令将DPress的静态资源收集到sites/collectedstatc/目录。
- 将collectedstatc中的内容复制到新创建的站点
- 如:static/dpress/。对应的STATIC_URL配置文件修改为 http://dstatic.sinaapp.com/static/dpress/