一步步在SAE 部署自己的python项目

本文讲述了作者在SAE部署Python项目遇到的限制,如收费、库限制和调试困难,从而选择转向自搭主机。通过注册SAE、使用Git管理代码、配置MySQL数据库以及建立本地开发环境,作者分享了迁移过程中的关键步骤。
摘要由CSDN通过智能技术生成

2016-10-19

推荐 Heroku.com!
现在用免费的 Heroku空间,简单好用,而且可以一直用,免费!国内访问速度也不慢。Gunicorn+Postgres,稳定!

一些小限制:
数据库条目<10000,一般也够了。也可以column用json来组合,压缩
网站无访问30分钟后会休眠,再次第一次访问会重启进程(10秒钟),以后就很快了,没有延迟
每个月上线时间540小时,平均一天18小时,也够用了


可以试试我的小站 - 天涯VIP:http://tianya.heroku.com


2016-6-6 

SAE免费几天后就要收费了,每天mysql也要云豆,第三方库很多用不起来,比如BeautifulSoup,老说少 lxml。调试也烦恼,很多应用(比如Weixin),必须上线调试,本地调试还不行。

因此,还是转为自己搭主机方便,反正家里也是包月网络,笔记本24小时开机,装个花生壳内网映射(6元RMB),外网就能访问了,自己随便用什么数据库、什么python库都随意安装,本地调试就相当于上线调试,哈哈~~

新的网站: englishgo.imwork.net

=====================================================

注册SAE

http://sae.sina.com.cn/

我的应用 EnglishGo

Git 管理源代码

  • 在你应用的git代码目录里,添加一个新的git远程仓库 sae
  • $ git remote add sae https://git.sinacloud.com/englishgo
  • 编辑代码并将代码部署到 `sae` 的版本1。
  • $ git add .
  • $ git commit -am "make it better"
  • $ git push sae master:1
或者本地没有,需要clone下来:

$ git clone https://git.sinacloud.com/englishgo

$ cd englishgo

$ git branch# *1

$ git remote  # origin

$ git pull origin 1# Already up-to-date.

### make your changes here, git add, git commit

$ git push origin 1



MySQL数据库

mysql作为一种最常用的存取服务了,那么在sae python环境下怎么操作mysql呢。我们也采用上面的方式,用一个实例来操作创建在sae 上的数据。首先我们需要知道我们的mysql的连接主机,端口,等等信息,那么在sae python的环境下我们需要手工引入sae的相关常量信息:

import sae. const
SAE是支持MySQLdb的,那么在得到了数据库的连接信息之后我们就可以管理我们的数据库了
SAE 控制台 -> Python应用 -> 共享MySQL -> 管理Mysql -> 在phpmyadmin中 SQL -> 创建一个简单的表:
CREATE TABLE IF NOT EXISTS `entries` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `text` int(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;




本地开发环境

直接使用 pip 或者 easy_install 安装 sae-python-dev 包

本地安装MySQLdb:  conda install mysql-python

进入应用的本地开发目录,也就是index.wsgi和config.yaml所在的目录。运行如下的命令启动测试server:

python c:\git\sae-python-dev-guide\dev_server\dev_server.py


MySQLdb 中文乱码的处理:

conn = MySQLdb.connect(host='localhost',user='root',passwd='XXX',db='app_englishgo', charset = 'utf8')

显示:title.encode('gbk')

接收输入:unicode(request.form['title'])



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值