如今,关于PaaS 的信息很多,关于云服务的信息也很多。
相信很多人对 google app 和 sina app 都有所耳闻,对于其中的服务托管也有理解。
今天,我这里要说的是 使用 stackato 进行服务托管。 简单的来说,通过它,你可以将一个自己的服务(或者应用,app)放到互联网上,只要是有网络的地方都可以使用。
part 1:先看几个使用 stackato 发布的服务!
# 一个网友发布的服务,首页有比较全面的 stackato 的使用。
http://www.bigfastblog.com/deploy-the-tornado-chat-demo-on-the-stackato-paas-sandbox
# 自己的一个使用stack 源码中提供的tornado-chat-mono 发布的服务。下文的安装也都是基于这个服务
http://jia-tornado-chat.sandbox.activestate.com/
part 2: stackato 介绍
简单来说, stackato 是ActiveState 发布的 PaaS(Platform-as-a-Service).
# stackato 的官方网址:
http://community.activestate.com/stackato
# stackato 的安装文档
http://docs.stackato.com/quick-start.html
# ActiveState 的官网
http://community.activestate.com/
part 3: 安装步骤
stackato 本身提供完整的 server 端和 client 端。本文只介绍 client 的使用,server 端使用 官方提供的公共server.
1: 在 ActiveState “http://community.activestate.com/” 上通过邮箱申请一个账号
2: 进行步骤1之后, 就可以在 ActiveState 上自由访问。 这时,在 “http://community.activestate.com/stackato” 上申请一个 Stackato Sandbox 账号。
密码申请成功后,在ActiveState 中的账号信息”https://account.activestate.com/“中可以看到。
3: 在 “http://community.activestate.com/stackato/download” 上下载一个 Stackato Client 版本。我的服务器是 Ubuntu 10.0.4 LTS, 我选择了 ”Linux i686“ 下载。
4: 下载 “stackato-0.3.13.0.18-linux-glibc2.3-ix86.zip” 之后, unzip 进行解压:
$ unzipstackato-0.3.13.0.18-linux-glibc2.3-ix86.zip
5: 赋予 它执行的权限:
$ chmod +xstackato-0.3.13.0.18-linux-glibc2.3-ix86
6: 将该文件修改名字,并移动到 bin目录下。
$ mv stackato-0.3.13.0.18-linux-glibc2.3-ix86 /usr/local/bin/stackato
这时,在命令行输入 stackato, 如果出现如下信息,说明stackato 安装成功:
$ stackato
Usage: stackato [options] command [<args>] [command_options]
Try 'stackato help [command]' or 'stackato help options' for more information.
7: 使用步骤2 申请的 standbox 密码,登陆Stackato 服务端。
$ stackato login
Attempting login to [https://api.stackato.local]
Email: jiaxiaolei19871112@gmail.com
Password: ****************
Cannot access target (couldn't open socket: host is unreachable (Name or service not known))
这里默认连接的server 端时本地服务,所以如果我们连接 ActiveState 公共sandbox, 需要主动修改一下 url.
$ stackato target https://api.sandbox.activestate.com
Successfully targeted to [https://api.sandbox.activestate.com]
修改 url 之后在进行一次login:
$ stackato login
Attempting login to [https://api.sandbox.activestate.com]
Email: jiaxiaolei19871112@gmail.com
Password: ****************
Successfully logged into [https://api.sandbox.activestate.com]
#NOTE: login, target 的使用方法可以通过 stackato help [command] 的方法进行查看.
8: 登录到 server 端之后,我们可以发布一个demo 进行测试。
在本地目录建立一个 src 文件夹,当然了,你也可以使用别的目录。
$ mkdir ~/src
在 src 目录下, 从 github 上下载一份demos
$ cd ~/src
$ git clone https://github.com/ActiveState/stackato-samples
$ cd stackato-samples/
$ ls
clojure java node perl php python README.md ruby
$ cd python/tornado-chat-mongo/
$ ls
app.py README.md README.txt requirements.pip requirements.txt stackato.yml static templates
#NOTE: 试着将项目执行一下:
$ python app.py --port=6304
此时,通过 6304 端口就可以访问这个服务了。
9: 将这个服务发布到Stackato。
第一次测试,可以使用默认的选项。直接按回车就可以。
$ stackato push tornado-chat
Would you like to deploy from the current directory ? [Yn]: y
Application Deployed URL [tornado-chat.sandbox.activestate.com]:
Application Url: tornado-chat.sandbox.activestate.com
Detected a Python Application, is this correct ? [Yn]: y
Memory Reservation [64M]:
Creating Application [tornado-chat]: Error 701: The URI: 'tornado-chat.sandbox.activestate.com' has already b
een taken or reserved
这里提示 Deployed URL不可用。我们该用一个未被使用的url
$ stackato push tornado-chat
Would you like to deploy from the current directory ? [Yn]: y
Application Deployed URL [tornado-chat.sandbox.activestate.com]: jia-tornado-chat.sandbox.activestate.com
Application Url: jia-tornado-chat.sandbox.activestate.com
Detected a Python Application, is this correct ? [Yn]: y
Memory Reservation [64M]:
Creating Application [tornado-chat]: OK
Creating mongodb Service [mongo-chat]: OK
Binding Service [mongo-chat]: OK
Uploading Application [tornado-chat]:
Checking for available resources: OK
Packing application: OK
Uploading (7K): 100% OK
Push Status: OK
Staging Application [tornado-chat]:
Staging Application [tornado-chat]: OK
Starting Application [tornado-chat]: OK
查看 服务的状态:
$ stackato apps
+--------------+---+---------+------------------------------------------+------------+
| Application | # | Health | URLS | Services |
+--------------+---+---------+------------------------------------------+------------+
| tornado-chat | 1 | RUNNING | jia-tornado-chat.sandbox.activestate.com | mongo-chat |
+--------------+---+---------+------------------------------------------+------------+
10: 在浏览器中输入 ”http://jia-tornado-chat.sandbox.activestate.com“ 就可以访问服务了。
扩展阅读:
云平台服务一览:
http://www.ruanyifeng.com/blog/2011/08/list_of_cloud_platforms.html
http://blog.csdn.net/bpy/article/details/6705391
#NOTE: 如果对于stackato 的安装有任何疑问,欢迎交流!
# 这里只是用 python -tornado 举例,当然了,你可以发布别的代码。 如果发布成功或失败,都可以给我回复。:D
分享到:
相关推荐
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 ...
Python_tornado专栏中——18.Tornado_个人信息案例前端样式。是一个个人信息填写的前端样式。具体使用方法可以去专栏中查看噢
Python 2.7,离线安装 合集 tornado-4.4.2,python2-backports_abc-0.5-2,python-backports-ssl_match_hostname-3.5.0.1-1,python2-certifi-2016.9.26-2,future-0.15.1.tar.gz,future-0.17.1.tar.gz,python-...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
安装sockjsroom的最简单方法是使用PyPI: pip install sockjsroom 它还将自动安装龙卷风和sockjs-tornado。 如果由于某种原因未安装它们,则可以手动进行: pip install tornado sockjs-tornado pip install ...
官方离线安装包,亲测可用
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
$ cd tutorial-python-microservice-tornado $ tree . . ├── LICENSE ├── README.md ├── addrservice │ ├── __init__.py │ ├── database │ │ ├── __init__.py │ │ ├── addressbook_db.py...
python-tornado框架
今天小编就为大家分享一篇python-tornado的接口用swagger进行包装的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
资源分类:Python库 所属语言:Python 资源全名:wsrpc-tornado-0.5.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:dp-tornado-0.9.4.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
离线安装包,亲测可用
人工智能-项目实践-tornado-基于Tornado实现,系统核心调度,可分布式扩展 修改配置 对settings 里面的配置文件进行修改,主要是数据库 缓存 消息队列 修改 doc/nginx_ops.conf 的server_name 例如 改为 task....
python-efficient-development-django-tornado-flask-twisted:Python高效开发实战:Django,Tornado,Flask,Twisted原始码
Python Tornado示例应用程序 这是的Tornado示例应用程序。 请按照指南在上部署此应用程序。
基于python tornado实现的个人博客 数据库使用的是mongodb,orm模块是mongoengine。 主要实现了以下功能: 登陆 注册 发布、编辑、删除日志 发表评论 简单的搜索功能