一、OpenShift空間申請使用前必備工具
1、OpenShift官網:
- 1、官方網站:https://www.openshift.com/
- 2、OpenShift V3:https://manage.openshift.com/
2、Github賬號(或者其他的git倉庫也可以..)。注冊git倉庫是為了方便的實現代碼的同步,從git倉庫可以即時的將代碼部署到openshift而無需重啟,非常方便。免費開源Github Pages空間可綁域名搭建個人博客存放圖片文件。
3、下載並安裝oc命令行。使用oc命令行來上傳代碼,新建容器,推送鏡像以及創建數據庫。請注意,oc命令行是必選項,Github是可選項,方便同步代碼的。這里是OpenShift CLI 下載地址。
- 1、https://console.starter-us-east-1.openshift.com/console/command-line
- 2、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/linux/oc.tar.gz
- 3、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/macosx/oc.tar.gz
- 4、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/windows/oc.zip
4、這個是新版的OpenShift空間控制面板。(點擊放大)
5、OpenShift空間目前免費配額是1G內存1G儲存,可創建一個項目。
二、OpenShift空間創建項目
1、如果需要使用Github代碼同步,請先准備一個新的項目,然后Fork代碼或者PUSH代碼.然后登錄到openshift后台,新建項目。
2、選擇開發語言,我們使用PHP。openshift V3還支持Java/JavaScript/.NET/Perl/Python/Ruby。
3、Openshift自帶的PHP環境支持5.6和7.0,同時還支持2個知名框架,在這里我們直接使用空白的PHP環境,方便我們部署已經開發好的PHP程序。
4、請不要選擇框架除非你會使用該框架,因為框架的目錄結構與空白PHP環境不同,若你選擇了框架環境,本文后面的操作可能無法執行!
5、填寫好項目名稱以及Git倉庫地址(必須填一個,你可以隨便找個PHP項目填上,建議就填你自己創建的)Git鏈接是這個。
6、點擊顯示高級選項。
7、在這里配置域名信息,同樣也支持SSL。這一步可以再創建應用之后進行。
8、設置負載平衡器,和舊版的負載均衡器一樣..需要的話就用。
9、設置一下應用內存,不要超過512M,超了一會沒法運行MySQL容器了。
10、Openshift自動同步Github代碼,需要設置Github項目設置中的webhooks.將api鏈接復制到Github中的webhooks中,選擇json模式,添加即可。
11、添加后代碼倉庫更新代碼就會自動同步到openshift項目中了。但是要注意的是,Github是開源的代碼倉庫,所有源代碼可讀。
12、也就是說,不要把敏感信息寫到Github中,我的意思就是別把配置文件直接放到Github中。(點擊放大)
13、設置完這些項目之后,過幾分鍾就可以在Openshift空間后台中看見我們的項目了。
三、OpenShift空間安裝Wordpress
1、點擊域名就可以進入並看到熟悉的WordPress安裝界面了(上傳/下載/修改代碼在后面)。
2、接下來的操作需要oc命令行,我演示時使用的是Linux系統,在Windows環境下,命令一樣,只不過需要吧oc.exe所在目錄扔到Windows的PATH系統變量中。關於命令行官網有詳細的教程:
- 1、https://docs.openshift.com/online/cli_reference/get_started_cli.html
3、Openshift支持MySQL5.5,5.6,5.7,根據需求選擇。我這里使用5.5演示,先使用:
1 2 3 |
oc login https://api.starter-us-east-1.openshift.com #注意:如果選的位於west的主機,登錄命令是: oc login https://api.starter-us-west-2.openshift.com |
3、登錄到openshift,用戶名是注冊郵箱,密碼是密碼.
4、接下來使用命令行創建數據庫
1 2 3 4 5 6 |
oc new-app \ -e MYSQL_USER=<username> \ -e MYSQL_PASSWORD=<password> \ -e MYSQL_DATABASE=<database_name> \ openshift/mysql-5<5>-centos7 </database_name></password></username> |
5、注意你需要修改<>中的參數,如下圖:
6、回到openshift后台可以看到MySQL已經跑起來了。
7、使用你自己設置的數據庫密碼和用戶名以及數據庫去安裝wp。
8、數據庫IP可以再控制台查看,也可以用:oc status 來查看。
9、確認無誤,開始安裝Wordpress。
10、安裝成功了。
四、OpenShift空間管理文件代碼
1、接下來的問題是文件管理,除了使用Github自動更新代碼,openshift不提供S*S&H和SFTP用於管理文件,除了使用OC命令行別無他法。使用oc命令行進行文件管理,查詢一下已經存在pod(就是服務容器):oc get pods
2、有兩個正在運行的Runing的,我們需要修改web服務對於的pod。先使用如下命令來獲取服務器上的代碼(遠端同步到本地):
1 2 |
oc rsync worlpress-1-c4zqc: <~/app> #<>中的是你本地對應的路徑 |
3、接下來你在本地修改你的代碼和文件,添加文件等.修改完畢后將原來的命令反過來同步到遠端。
1 |
oc rsync <~/app/> worlpress-1-c4zqc: |
4、請注意,若您在創建項目時使用了Git倉庫,則該命令不會生效,您需要設置POD屬性不在同步Git倉庫才能上傳!請按如下方式修改。
5、找到Wordpress。(點擊放大)
6、點擊編輯。(點擊放大)
7、然后進行修改,將選項勾去掉,這樣修改之后,就可以使用命令推送代碼,能修改代碼自然也就可以修改WP語言,甚至直接換個程序啥的.如下圖:(點擊放大)
8、openshiftV3和舊版一樣提供了功能強大的shell功能,方便你進行一些操作,不過可惜的是,新版的shell操作只能在后台pods選項中的Terminal操作或使用oc命令行。(點擊放大)
9、oc命令行使用進入shell:
1 2 |
oc rsh <pod name> </pod> |
五、OpenShift免費空間使用問題
1、使用Git同步的代碼存在文件權限問題(無法自動更新,上傳文件,下載插件等)。解決的辦法是刪除全部代碼,在本地准備一份完全一樣,但是文件權限正確的文件是用命令行推送(shell改不了權限)。另一個就是域名綁定存在問題,目前不支持。
2、請匆濫用OpenShift免費空間。OpenShift新版的空間支持多種語言,所以很多應用程序都可以在OpenShift空間上跑,但是這里還得提醒一下大家不要濫用OpenShift空間,來之不易,且用且珍惜,大家建立個人博客是最好不過的了。