软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 云计算 -> RedhatOpenshift云平台注册使用 -> 正文阅读
云计算 最新文章
CentOS7上安装Zabbix(快速安装监控工具Zab
十分钟搭建NeuralStyle服务
solr入门之拼写纠错深入研究及代码Demo
3个netty5的例子,简单介绍netty的用法
RedhatOpenshift云平台注册使用
Akka框架——第一节:并发编程简介
Hadoop实战:Linux报tmp磁盘存储不足
linux安装thrift
感觉快更快规划计划高考韩国
solr相似匹配

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

  2016-04-02 21:01:07

【编者按】一直想申请一个免费的托管空间,国内找了一圈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取的,不翻墙的话看不到验证码,不过仅注册的这一次验证码,注册完再登录不需要翻墙便可以正常登录。

注册可能会发你一封验证邮件,点一下验证邮件里的链接即完成注册,然后便可以用此用户登录使用了。

创建新的应用


用你刚注册的用户登录,到 http://www.openshift.com 点击右上角MY ACCOUNT里的WEB CONSOLE菜单登录。登录上去可以看到你的控制台,点击下面的Add Application按钮即可新建一个应用:

点击完后需要你选择应用的类型,比如你可以选择python2.7,当然你也可以选择python3.3,选择完后会让先让你给应用起个名称,名称都会加上你的用户名后缀。

其它的选项暂时可以不用改,点击最下面的Create Application按钮,这个应用便是创建完成了。每个免费的用户可以创建3个应用,每个应用1GB的存储空间,包括数据库和语言相关包以及你的所有的程序文件共享这1GB的空间。点完Create Application后可以看到一些提示信息,不管它直接Continue即可。

服务端会给你的应用建立一个python的virtualenv,你的程序在此virtualenv中运行。
现在你的应用已经可以通过WEB进行访问了,生成的时候会自动生成一些默认的代码。

添加数据库


点击你的应用后面有个图标,可以为应用添加一个数据库,我选择用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  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 人民的名义 人民的名义在线看 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图
中国文化英文 多播视频 装修知识库
2017-4-25 3:09:06
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --