sae上部署django+mysql

 
 
希望你在开发时是把开发环境和生产环境的配置文件分开的,否则部署的时候,一旦出错调试起来非常麻烦。
1.在sae中创建“新应用”,比如名字叫mysite
2.用svn把在sae上创建的应用check下来
$svn co https://svn.sinaapp.com/mysite
$ls mysite/1
config.yaml index.yaml
3.你的django project,假设是这样的
$ls myproject
manage.py myapp myproject
把你的project拷贝到mysite/1下,最外面一层的与project同名的目录就不要拷贝了。
$ls mysite/1
config.yaml manage.py myapp myproject index.yaml
4.配置config.yaml
name: mysite
libraries:
- name: "django"
version: "1.7"
handlers:
- url: "/static"
static_dir: "./myapp/static"
5.配置index.yaml,同级路径下新建site-packages目录,把你的django拷贝到site-packages下
import sae
import sys
import os
root = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(root, 'site-packages')) #把django加入了系统路径
from myapp import wsgi application = sae.create_wsgi_app(wsgi.application)
6.配置settings.py
# 修改上传时文件在内存中可以存放的最大size为10m
FILE_UPLOAD_MAX_MEMORY_SIZE = 10485760

# sae的本地文件系统是只读的,修改django的file storage backend为Storage
DEFAULT_FILE_STORAGE = 'sae.ext.django.storage.backend.Storage'
# 使用media这个bucket
STORAGE_BUCKET_NAME = 'media'
# media与你在sae的storage里建立的domain名字必须一致











# 线上数据库的配置
MYSQL_HOST = 'w.rdc.sae.sina.com.cn'
MYSQL_PORT = '3307'
MYSQL_USER = 'ACCESSKEY'
MYSQL_PASS = 'SECRETKEY'
MYSQL_DB   = 'mysite'

DATABASES = {
    'default': {
        'ENGINE':   'django.db.backends.mysql',
        'NAME':     MYSQL_DB,
        'USER':     MYSQL_USER,
        'PASSWORD': MYSQL_PASS,
        'HOST':     MYSQL_HOST,
        'PORT':     MYSQL_PORT,
    }
}





















7.在sae上建立数据库:
在“服务管理”,找到mysql,建立一个数据库,数据库名跟本地数据库名一致。
数据库建立好以后,导入数据库文件*.sql,导入的时候遇到下面类似的代码可能会报错
   
   
LOCK TABLES `auth_group` WRITE ;
/*!40000 ALTER TABLE `auth_group` DISABLE KEYS */ ;
/*!40000 ALTER TABLE `auth_group` ENABLE KEYS */ ;
UNLOCK TABLES ;





sql的锁是防止其他客户端读写数据,当然不会让sae去导入*.sql文件了。所以把上面类似的所有代码都删掉。

8.完成了,上传你的代码吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值