gae 部署基于flask的web服务器

google appengine是Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台,目前支持的语言有Java、Python、PHP和Go等,相当于免费的云主机(不用花钱就可以部署自己的网站,网站的域名是一个谷歌提供的二级域名),类似的目前国内有新浪的SAE,腾讯也有一个,阿里也有一个,百度也有一个。

在开发之前,你得安装google app engine,下载地址 https://cloud.google.com/appengine/downloads,选择for python的SDK。

然后按照上面的说明解压,安装。

由于flask是第三方库,所以我们需要把flask库文件放在我们开发的应用里,然后上传上去。

官方给的一个flask例子:https://console.developers.google.com/start/appengine,选择python那个,可以把这个demo下载下来,里面的lib就是我们需要的库文件,把lib目录放在我们新建的应用目录下面。

比如我们新建工程

mkdir hello 然后把lib拷贝到hello目录下

cd hello

vi hello.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/user/<name>')
def user(name):
    return '<h1>hello, %s!<h1>' %name

if __name__ == '__main__':
    app.run()

简单说一下,app.route的作用,它保存一个URL到python函数的映射关系,如果部署的服务器域名是www.example.com。在浏览器中访问http://www.example.com,会触发服务器执行index函数,你将会看到Hello, World!. 也可以在url中传入参数
@app.route('/user/<name>')
这样访问http://www.example.com/user/steven,会看到hello,steven!。

vi app.yaml   (GAE的配置文件)

version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: .*
  script: hello.app

libraries:
- name: jinja2 
  version: latest
- name: markupsafe
  version: latest

vi appengine_config.py   (加载第三方库文件,本应用是flask, 在lib目录下)

import sys
import os.path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib'))

这样一个GAE应用就完成了,进入谷歌的gae,https://console.developers.google.com/project,建立专案输入ID(独一无二的):flask-10010

然后上传:

appcfg.py --oauth2 -A flask-10010 update ../hello/
上传成功后,访问http://flask-10010.appspot.com/就可以看到Hello, World!




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值