新浪云SAE搭建python环境 问题拾遗
1、python程序部署到sae上需要做的改动
在线上需要转换成wsgi的形式运行python程序。
sae中运行python程序需要指定一个函数为入口函数。
application = sae.create_wsgi_app(main)
main函数是你定义的入口函数,在这里面你可以调用你定义的其它函数。
sae.create_wsgi_app(main) 创建main为入口函数,将入口地址返回给application。
运行这个程序的时候sae会直接找到application,运行这个python程序。
另外入口函数(main)必须要有两个参数:environ 和 start_response
所以你的入口函数要这样写:
def main(environ,start_response):
status = '200 OK'
response_headers = [('Content-type','text/plain')]
write = start_response(status,response_headers) return ['Hello world']
这里面定义了一个返回的包,status为状态码,200表示成功,response_headers为包的头部,return返回body的内容,组合起来就是一个完整的包。
sae中运行python程序基本就要做这些改变,你的其它程序可以在main函数的基础上扩充。另外还有sae不支持一些第三方库的问题,这一节不赘述了。
关于程序的设置详见官方文档:请求处理
2、sae git 提交记住用户名、密码
详见:使用GitBash记住在新浪Sae上Git仓库的帐号密码,以后再也不用输帐号密码啦!
3、运行 git 脚本
调试的时候每次重复输入几条命令比较麻烦?试试将所有命令写成一个小脚本来运行!
使用方法:
git config --global alias.push1 '!git add . && git commit -m "update" && git push sae master:1'
git控制台中直接运行:
git push1
就可以运行这个脚本啦!
参考自:Git批处理脚本
4、wsgi处理get请求
WSGI接口 <==处理url路径问题
Freecode# : www.cnblogs.com/yym2013
新浪云SAE搭建python环境 问题拾遗的更多相关文章
- 新浪云SAE使用入门,教你如何发布自己的网站
新浪云sae是一个免费的web服务器,SAE的Web服务器采用分布式部署的方式,开发者将代码部署到SAE前端机后,会通过同步的方式,将代码部署到SAE所有的Web服务器.相当于在每一台Web服务器上都 ...
- 微信客户端+微信公众平台+新浪云SAE+Arduino+WS100(控制LED)
第一步:准备 1.智能手机微信客户端或微信电脑版 2.注册微信公众平台 https://mp.weixin.qq.com 3.注册新浪账号 http://www.sinacloud.com 4.拥有一 ...
- 微信客户端+微信公众平台+新浪云SAE+Arduino+WS100(控制LED)
第一步:准备 1.智能手机微信客户端或微信电脑版 2.注册微信公众平台 https://mp.weixin.qq.com 3.注册新浪账号 http://www.sinacloud.com 4.拥有一 ...
- 新浪云SAE 关于部分函数不能使用的做法
例如:file_put_contents("test.txt","Hello World. Testing!"); 可以这样写: file_put_conten ...
- 【公众号】微信第三方登录(静默授权和非静默授权)(具体代码:U盘 新浪云SAE)
一.微信联合登录是怎么登录的,有几种登录方式:微信联合登录和微信授权登录[授权登录(非静默授权)与静默授权] [主动授权]:需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关 ...
- 01_搭建新浪云SAE
Step1:注册新浪云计算平台用新浪微博登陆新浪云计算平台,网址:http://sae.sina.com.cn/ 登陆成功之后会跳转到安全设置页面,安全设置页面要填写的东西比较多,需要注意:安全设置里 ...
- php连接mysql数据库(新浪云SAE)
新浪云提供了免费的创建服务器端应用的服务.网址为:https://www.sinacloud.com/ 在上面创建好应用,然后在本地使用记事本编写应用的代码如下: <?php echo &quo ...
- 在新浪云SAE中使用smarty引擎模版
在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...
- 新浪云sae 邮件服务 quicksend()
<?php header("Content-Type: text/html;charset=utf-8"); $mail = new SaeMail(); $form_Con ...
随机推荐
- HTML5的Audio标签打造WEB音频播放器
目前,WEB页面上没有标准的方式来播放音频文件,大多数的音频文件是使用插件来播放,而众多浏览器都使用了不同的插件.而HTML5的到来,给我们提供了一个标准的方式来播放WEB中的音频文件,用户不再为浏览 ...
- 高端大气上档次的fullPage.js
简介 4月15日,网易邮箱升级到6.0版本,并发布了介绍页面,页面采用了时下非常流行的"全屏"效果,文字.图片再加上 CSS3 动画,让用户非常直观.清晰的了解6.0版本的功能及特 ...
- 后台动态添加的button,如何触发button_click事件?
后台动态添加的button,需要在Page_Load或者Page_Init重新动态生成才能执行button_click public Panel GetContrlType() { Panel pan ...
- JAVA中ListIterator和Iterator详解与辨析
在使用Java集 合的时候,都需要使用Iterator.但是java集合中还有一个迭代器ListIterator,在使用List.ArrayList. LinkedList和Vector的时候可以使用 ...
- dynamic 用法
private static string GetNameValue(object value) { dynamic obj = value; try { return obj.Name; } cat ...
- Java集合之HashMap
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的).此实现提供所 ...
- TaskCompletionSource<TResult>
参考:https://blogs.msdn.microsoft.com/pfxteam/2009/06/02/the-nature-of-taskcompletionsourcetresult/
- asp.net MVC4 表单 - 下拉框
1.下拉框代码方式 控制器内构建下拉项目: List<SelectListItem> list = new List<SelectListItem>(); list.Add(n ...
- [从产品角度学EXCEL 02]-EXCEL里的树形结构
这是<从产品角度学EXCEL>系列第三篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布 ...
- Azure的负载均衡机制
负载均衡一直是一个比较重要的议题,几乎所有的Azure案例或者场景都不可避免,鉴于经常有客户会问,所以笔者觉得有必要总结一下. Azure提供的负载均衡机制,按照功能,可以分为三种:Azure Loa ...