因為要做一些東西,需要架站,同學推薦實驗室使用虛擬主機,他推薦了兩個,一個是byehost,這個虛擬主機有控制平台IaaS,而另一個則是本篇所寫的,openshift,屬於PaaS服務。

openshift的詳細描述三言兩語難道盡,加上時間有限,文章就不寫了,我只把我做的步驟筆記寫下來,有空再回來補這些東西。

為什麼會寫這篇?主要是因為資料庫老師建議用postgreSQL,而這種SQL目前看到的虛擬主機只有openshift有提供,因此著手架設,再來才在這上面開發應用,架設過程中碰了一鼻子灰,被資料庫的IP位址搞好久,程式無法正式動工。

 

好!首先註冊取得openshift帳號後,登入完成,就能建立自己的應用程式,但是在這之前還要做一個動作,就是安裝ruby和git應用程式在本機端,詳細安裝過程看這邊。

https://www.openshift.com/get-started#cli

安裝好後,在命令提示字元完成金鑰的上傳動作,再來就可以輸入指令做一些動作。

在這邊我已經創好應用程式了,所以我要用指令來看IP在哪裡,這樣程式才有辦法寫。

輸入指令rhc port-forward <app name>

例如我的應用程式名稱是phptest,這時候就會看到如下:

C:\Users\Administrator>rhc port-forward phptest
DL is deprecated, please use Fiddle
Checking available ports ... done
Forwarding ports ...
Only one usage of each socket address (protocol/network address/port) is
normally permitted. - bind(2) while forwarding port 8080. Trying local port 8081


To connect to a service running on OpenShift, use the Local address

Service Local OpenShift
---------- -------------- ---- ------------------
httpd 127.0.0.1:8080 => 127.6.225.129:8080
httpd 127.0.0.1:8081 => 127.6.225.132:8080
mysql 127.0.0.1:3306 => 127.6.225.131:3306
postgresql 127.0.0.1:5432 => 127.6.225.130:5432

Press CTRL-C to terminate port forwarding
Ending port forward

 

從這邊就能看到mysql用的是131的IP,postgresql用的是130的IP。

得到這樣的資訊後,只要程式設定好主機IP就能正確連線了。

例如這是部分php程式碼段落:

<?php
// Connecting, selecting database
$dbconn = pg_connect("host=127.6.225.130 port=5432 dbname=phptest user=adminsrl6m2z password=QjJcCY9DTDf-")
or die('Could not connect: ' . pg_last_error());
echo "Connected successfully";

......

?>

arrow
arrow
    全站熱搜

    Yilun 發表在 痞客邦 留言(0) 人氣()