软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 云计算 -> RedhatOpenshift云平台注册使用 -> 正文阅读

[云计算]RedhatOpenshift云平台注册使用


【编者按】一直想申请一个免费的托管空间,国内找了一圈sinaapp还算差强人意,但是对于python不以安装C extension的包,而且SAE的一整套流程用起来感觉很不爽,而openshift的平台的工作流更适合一般开发人员的思维模式(我是针对Python,其他语言没有试过没有发言权),鉴于国内关注得还比较少,我把自己注册到开发的经验记录下来,希望对需要的人有所帮助。

Openshift简介


Openshift是RedHat公司的一款平台云产品,openshift.com是由RedHat公司维护的一个公有平台云服务平台,提供基础的语言环境、数据库以及其他运维相关的环境。用git实现自动部署,免费用户可以得到1GB的空间,流量无限制。因为RedHat服务器在国外,访问国外的网站速度也会有优势。特别是管理端,可以通过ssh直接登录上去进行调试管理,使用十分方便。语言方面,支持Java、Python、Ruby、Perl、PHP、Node.js等主流的编程语言。
缺点嘛,国外的网站,管理端访问速度确实有点慢,做出来网站的访问速度感觉还可以,当然现在我做的规模还比较小,但对于个人做点事情(比如爬虫)感觉还是可以的。

Openshift注册及新建应用

注册用户


Openshift官网点SIGN UP FOR FREE,不过,那个验证码是从google取的,不翻墙的话看不到验证码,不过仅注册的这一次验证码,注册完再登录不需要翻墙便可以正常登录。
[img]http://img.blog.csdn.net/20160401221206463
注册可能会发你一封验证邮件,点一下验证邮件里的链接即完成注册,然后便可以用此用户登录使用了。

创建新的应用


用你刚注册的用户登录,到 http://www.openshift.com 点击右上角MY ACCOUNT里的WEB CONSOLE菜单登录。登录上去可以看到你的控制台,点击下面的Add Application按钮即可新建一个应用:
[img]http://img.blog.csdn.net/20160401221318588
点击完后需要你选择应用的类型,比如你可以选择python2.7,当然你也可以选择python3.3,选择完后会让先让你给应用起个名称,名称都会加上你的用户名后缀。
[img]http://img.blog.csdn.net/20160401221445089
其它的选项暂时可以不用改,点击最下面的Create Application按钮,这个应用便是创建完成了。每个免费的用户可以创建3个应用,每个应用1GB的存储空间,包括数据库和语言相关包以及你的所有的程序文件共享这1GB的空间。点完Create Application后可以看到一些提示信息,不管它直接Continue即可。
[img]http://img.blog.csdn.net/20160401221615293
服务端会给你的应用建立一个python的virtualenv,你的程序在此virtualenv中运行。
现在你的应用已经可以通过WEB进行访问了,生成的时候会自动生成一些默认的代码。
[img]http://img.blog.csdn.net/20160402071654459

添加数据库


点击你的应用后面有个图标,可以为应用添加一个数据库,我选择用postgresql9.2,后面再介绍如何进行数据库访问。

rhc及其一些基本用法


rhc是Openshift的客户端管理程序,利用它可以不必每次都登录到Web控制台上去点鼠标。Ubuntu/Debian可以直接在其官方源里搜索rhc并安装,RHEL/Centos下可以用gem install rhc来,需要系统安装了Ruby和Git。
首次运行rhc需要先进行初始化,rhc setup,按照提示输入账户和密码进行初始化后,系统会生成一个token,下一次便不用再输入了,这个token也是有一定有效期的,过期之后还要重新输入密码,以下所有的rhc命令均是。

将代码克隆到本地

rhc git-clone mytest

远程登录


我觉得Openshift一个很赞的用法是可以通过ssh远程登录到你的主机平台,有些操作(比如安装Python包,比如看一下远方的环境变量设置,比如看一下远端数据库里的内容(当然Mysql数据库可以通过PhpMyadmin来看)等可以直接登录上去用。
rhc ssh <appname>

登录上去后你可以运行env看一下其中的环境变量,其中有几个要用得到的。
  • OPENSHIFT_DATA_DIR: 是指你的数据目录,指向你的代码目录下的data目录。
  • OPENSHIFT_REPO_DIR: 是指你的代码仓库根目录。
  • OPENSHIFT_POSTGRESQL_DB_URL: 用sqlalchemy访问postgresql数据库的访问字符串,Mysql的情况没有试过应该也是差不多的,这样需要在你的程序中访问数据库时便用这个环境变量来访问。
  • OPENSHIFT_PYTHON_PORT: 对外服务的端口,8080。

如果在本地环境中模拟远端的运行,则可以通过设置上述环境变量使其指向本地的路径即可。

代码的部署


克隆到本地的代码可以在本地进行修改,用Git进行版本管理,如果需要部署,可以通过git push的形式部署:
git push origin master

两点注意的是:
1. 如果有python依赖包需要安装,则可以在代码的根目录下建一个requirements.txt的文件,里面把依赖的包名称写上,这样每次你push的时候,服务端总会检查一下系统中是否安装了这些包,如果没有安装,则会在部署时用pip进行安装。
1. 如果想要在远端运行程序(比如初始化数据库)除上直接ssh上去运行外,也可以在.openshift/action_hooks目录下添加一个deploy的可执行脚本,这样在你git push进行部署的时候会自动调用这个脚本。

scp

rhc scp mytest upload initial.sql $OPENSHIFT_REPO_DIR/
rhc scp mytest download ./ $OPENSHIFT_DATA_DIR/test.log

以上两条命令一是向mytest应用的服务端拷贝文件,第二条是从远程下载文件。

创建app


刚才讲的是用Web的方式创建app,你也可以直接用rhc的方式创建:
rhc app-create mytest python-2.7 postgresql-9.2

即完成刚才Web界面点击的那套东西。

查看app的信息

rhc apps

查看远程的日志信息

rhc tail <appname>

还有一些用法可以参见rhc的帮助:
rhc help

开启cron定期运行一些程序


可以在远程部署定期运行的程序,可支持按分钟、小时、天、月、周等不同的周期定期运行程序,比如你可以在上面部署爬虫。
可以运行rhc cartridge-add cron -a <appname>为你的程序启用cron。
然后将需要定期运行的脚本放在.openshift/cron/相应的目录下,并把其权限改为可执行的即可。

在openshift上部scrapy爬虫的步骤


有这么个资源用来部爬虫我觉得还是挺不错的,当然了,数据量超过1GB的话可能会有问题。
  1. 首先在代码目录下建一个requirements.txt的文件,然后写入:scrapy
  2. 用scrapy写爬虫,然后用git push部署。
  3. 在.openshift/cron/daily下写一个调用scrapy爬虫的脚本,并把其改为可执行文件,即可实现每天定期进行爬虫。
  4. 爬虫的结果如果存储在数据库中直接远程入库即可,如果存储为文件可以通过rhc scp的方式down下来。

我自己在使用过程中的一点建议


由于国内直接用rhc访问Openshift有些慢,一点技巧:
  • 如果在requirements.txt中写入的依赖包在push的时候安装失败(特别是对于需要编译的情况很容易失败),则可以直接登录上去安装,但最好用nohup的方式安装,这样启动了任务后你的ssh便可以退下,免得ssh断线后安装程序中断。
nohup pip install -r $OPENSHIFT_REPO_DIR/requirements.txt > /dev/null &

......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-02 21:00:55  
云计算 最新文章
CentOS7上安装Zabbix(快速安装监控工具Zab
十分钟搭建NeuralStyle服务
solr入门之拼写纠错深入研究及代码Demo
3个netty5的例子,简单介绍netty的用法
RedhatOpenshift云平台注册使用
Akka框架——第一节:并发编程简介
Hadoop实战:Linux报tmp磁盘存储不足
linux安装thrift
感觉快更快规划计划高考韩国
solr相似匹配
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年9日历
2017-9-24 16:51:04
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --