Openshift 安裝使用教程
聲明:配置環(huán)境是fedora 20,這里是官方文檔,找文檔是解決問題最有效的方式。
介紹
OpenShift是紅帽公司推出的一個云計算服務(wù)平臺,開發(fā)人員可以用它來構(gòu)建和發(fā)布web應(yīng)用。Openshift廣泛支持多種編程語言和框架,如Java,Ruby和PHP等。另外它還提供了多種集成開發(fā)工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一個開源生態(tài)系統(tǒng)為移動應(yīng)用,數(shù)據(jù)庫服務(wù)等,提供支持。 ——來自百度百科 |
簡言之,就是一個面向開源開發(fā)人員開放的平臺即服務(wù)(PaaS)。
使用openshift首先需要一個賬戶,注冊十分簡單,不在此贅述。 配置自己的openshift可以通過幾種方式,比如web端,命令行。web端適合剛剛接觸的新手,建議新用戶多點點鏈接,熟悉一下大體的使用方法和功能。當(dāng)準(zhǔn)備好創(chuàng)建應(yīng)用時即往下看。本文是介紹命令行下的配置,畢竟修改代碼什么的都需要在本地修改后再提交。而openshift的客戶端就是基于命令行的。
安裝
安裝命令行客戶端
- sudo yum install rubygem-rhc -y
初始化設(shè)置
- sudo rhc setup
此時需要輸入帳號和密碼,即為自己在openshift注冊時的帳號。
令人費解的是使用我的本地賬戶運行rhc顯示找不到命令,切換為root運行也是如此。只能使用sudo rhc的方式,后面運行g(shù)it push也是如此,必須是sudo git push。如果你知道原因,煩請不吝賜教。
使用gem更新rhc
- sudo gem update rhc
然后看看自己的賬戶:
- sudo rhc account
在安裝rhc的時候本地用戶已和云端綁定,ssh公鑰也導(dǎo)入了,因此之后的操作一般不需要再作驗證。
查看自己的app
- sudo rhc apps
可以看到自己賬戶下有多少個app(免費賬戶最多3個),應(yīng)用名,git倉庫地址,主機地址,綁定的域名,以及模塊,數(shù)據(jù)庫版本,數(shù)據(jù)庫用戶和密碼等等。比如我的wordpress(數(shù)據(jù)庫賬戶和密碼被我屏蔽)。
- blog @ http://blog-grunmin.rhcloud.com/ (uuid: 5325520fe0b8cd3a830009ff)
- ------------------------------------------------------------------
- Domain: grunmin
- Created: 3:26 PM
- Gears: 1 (defaults to small)
- Git URL: ssh://5325520fe0b8cd3a830009ff@blog-grunmin.rhcloud.com/~/git/blog.git/
- Initial Git URL: https://github.com/openshift/wordpress-example.git
- SSH: 5325520fe0b8cd3a830009ff@blog-grunmin.rhcloud.com
- Deployment: auto (on git push)
- Aliases: wp.guorunmin.cn
- mysql-5.1 (MySQL 5.1)
- ---------------------
- Gears: Located with php-5.3
- Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
- Database Name: blog
- Password: ********
- Username: ******
- php-5.3 (PHP 5.3)
- -----------------
- Gears: Located with mysql-5.1
創(chuàng)建應(yīng)用
創(chuàng)建
看別人的東西干過癮,不如自己創(chuàng)建一個,創(chuàng)建的方法也很簡單,只需一個命令:
- sudo rhc app create AppName
Openshift 支持Java,Ruby,Node.js,PHP,Perl和Python,在AppName 后面可以加其他參數(shù),例如php應(yīng)用是:
- sudo rhc app create AppName php-5.4
有一種是diy模式,即自行搭建語言環(huán)境的,面對一臺陌生的機器,我沒有任何信心能完成這樣的工作^_^。剛開始的時候,我找不到CI框架的環(huán)境(有ZF),所以選擇新建空應(yīng)用,以為我自己的代碼可以在服務(wù)器上運行,想想還是比較天真哈哈哈 如果是安裝環(huán)境了,改代碼的之前需要將倉庫克隆到本地。如果新建空應(yīng)用,那么rhc會自動將倉庫克隆下來。
更多參數(shù)可以參見官方文檔,不用擔(dān)心看不懂英文,我翻了一遍,文檔大體都能看懂。
添加mysql和phpmyadmin模塊
既然是php應(yīng)用,mysql和phpmyadmin怎么能少呢!讓我們添加一下:
- sudo rhc cartridge add mysql-5.1 -a AppName
- sudo rhc cartridge add phpmyadmin -a AppName
此時新建的應(yīng)用信息大概就是你看到的上面那個。建議保存一下有用的信息,比如phpmyadmin的地址,用戶名和密碼,尤其是使用web端創(chuàng)建的同學(xué)*_*
安裝wordpress后還需登陸網(wǎng)站添加安裝配置信息。
如果要刪除應(yīng)用,執(zhí)行:
- sudo rhc app delete AppName
開始碼字
如果安裝的是wordpress這些成熟的應(yīng)用,因為它提供了管理界面,大概不用去修改代碼。如果是自己開發(fā)的應(yīng)用呢?Openshift支持git的方式修改云端上的代碼。大體流程應(yīng)該是這樣: 克隆代碼到本地->進入應(yīng)用目錄->進入代碼目錄->修改代碼->git add,commit,push->服務(wù)器上的應(yīng)用關(guān)閉->一系列編譯布置->應(yīng)用重啟->完成
克隆操作
- sudo rhc git-clone AppName
或者知道倉庫地址,像這樣:
- sudo git clone ssh://53257e56e0b8cd671500019b@app-grunmin.rhcloud.com/~/git/app.git/
php應(yīng)用根目錄下默認(rèn)有兩個文件夾,.git和.openshift。(安裝wordpress時候還有另外三個目錄:libs,misc,php,但是我找不到wordpress的代碼).openshift目錄的作用官網(wǎng)的說明挺詳細(xì),我只知道是存放git動作觸發(fā)的腳本文件,沒有深入研究。根目錄下還有index.php文件,就是登陸AppName-AccountName.rhcloud.com時看到的頁面。這樣的設(shè)計應(yīng)該很明朗了,我們直接將代碼放在應(yīng)用根目錄下即可?;蛟S你可以寫個測試文件看看php的環(huán)境,比如”welcome.php”
- <?php
- phpinfo();
- ?>
另外我們可以ssh進去主機看看里面的文件。如果想了解的話還是自己找找資料吧,比如openshift用ssh登陸后的目錄結(jié)構(gòu)。
訪問
雖說是否被墻是判斷一個服務(wù)好壞的標(biāo)準(zhǔn),不過眼看著這么好的服務(wù)被墻還是挺讓人窩火。因此我也希望我們能夠好好利用openshift,不要見縫插針,浪費資源。
如果是博客,那么有一個自己的域名當(dāng)然比較好。如果不是的話,為了避免被墻,建議也綁定一個,雖然不一定能起作用。綁定域名,也是一個命令搞定:
- sudo rhc alias add AppName YourDomain
當(dāng)然,你需要在域名提供商那里添加一個CNAME記錄,指向你的openshift域名。 因為緩存的原因,域名解析不會立刻生效。
或者使用https的方式訪問。
其他跨欄的姿勢很多,不贅述。
參考: openshift使用方法介紹