步骤:
第一步:注册新浪SAE账号(即新浪微博),下载TortoiseSVN
第二步:部署代码
使用SAE来部署代码,SAE提供的是PAAS层的云服务,即不是给你一个虚拟主机而是直接上传应用。进入SAE的控制台,下图所示:
首先在合适的位置创建一个svn文件夹,比如 E:svn。
然后,在svn下面再创建一个文件夹,名字是在创建应用时填在二级域名里的名字,如lcnet。
鼠标右击文件夹pylabsite,选择SVN Checkout,填写URL,其他默认,点击OK,之后填写注册邮箱和密码,填写时选上save authentication。
完成之后在lcnet文件夹里会多出2个文件夹,1和.svn,.svn里的东西不用管,重点看1,刚检出来的时候 1 目录下只有config.yaml
和index.wsgi两个文件,然后将本地项目lcnet复制到1文件夹里,由于SAE最多支持Django1.4版本,这里要把python安装位置(例
如C:Python27Libsite-packages)的Django包拷贝过来,新建一个site-packages文件夹,记得将site-packagesdjango
contribadmin下的static放在1文件夹下,文件目录结构如下:
三、修改文件信息:
修改config.yaml和index.wsgi这两个文件。
#--config.yaml--#name: lcnet2version: 2libraries:- name:"django" version:"1.8.3"handlers:- url: /foo static_dir: foo
#--index.wsgi--#import osimport sysroot = os.path.dirname(__file__)sys.path.insert(0, os.path.join(root, 'site-packages'))os.environ.setdefault("DJANGO_SETTINGS_MODULE" , "lcnet_blog.settings")from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
1/lcnet_blog/wsgi.py修改如下:
import osimport sysfrom django.core.wsgi import get_wsgi_applicationroot = os.path.dirname(__file__)sys.path.insert(0, os.path.join(root,'.','site-packages'))os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lcnet_blog.settings")application = get_wsgi_application()
1/lcnet_blog/urls.py修改如下:
#--urls--#from django.conf.urls import include, urlfrom django.contrib import adminurlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'',include('blog.urls'))]admin.autodiscover()from django.contrib.staticfiles.urls import staticfiles_urlpatternsurlpatterns += staticfiles_urlpatterns()
1/lcnet_blog/settings.py修改:
EBUG = TrueTEMPLATE_DEBUG = FalseALLOWED_HOSTS = ['.sinaapp.com',]debug = not environ.get("APP_NAME","")if debug: MYSQL_DB = 'lcnet' MYSQL_USER = 'root' MYSQL_PASS = 'root' MYSQL_HOST_M = '127.0.0.1' MYSQL_HOST_S = '127.0.0.1' MYSQL_PORT = '3306'else: import sae.const MYSQL_DB = sae.const.MYSQL_DB MYSQL_USER = sae.const.MYSQL_USER MYSQL_PASS = sae.const.MYSQL_PASS MYSQL_HOST_M = sae.const.MYSQL_HOST MYSQL_HOST_S = sae.const.MYSQL_HOST_S MYSQL_PORT = sae.const.MYSQL_PORTDATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': MYSQL_DB, ## 数据库名称 'USER': MYSQL_USER, 'PASSWORD': MYSQL_PASS, ## 安装 mysql 数据库时,输入的 root 用户的密码 'HOST': MYSQL_HOST_M, 'PORT': MYSQL_PORT, }}
第四步、上传代码:
将所有要修改的东西修改完,就可以通过svn上传到SAE了,操作方法,右键1,选择SVN Commit…
Django包有个十几M,不过上传速度很慢,这个过程可以休息会(sae偶尔会抽,多尝试上传几次)。
第五步、配置Mysql:
以上配置完成了,现在数据库还是空的,有一种方法是在本地部署SAE环境然后 python manage.py migrate
同步到服务器,不过这样搞很折腾。
第二种方法是在本地执行 python manage.py migrate,然后从本地Mysql导出SQL语句文件,然后在SAE的Mysql
运行SQL语句,我这里是用 Navicat for MySQL 导出的SQL语句文件,很方便。
然后就可以访问 yourAppName.sinaapp.com 来看我们的劳动成果了。
参考:
1. http://www.sinacloud.com/doc/sae/python/tutorial.html
2. http://www.mamicode.com/info-detail-471552.html
3. http://my.oschina.net/u/877170/blog/314459?fromerr=nY9nBubm