文章目錄

OpenShift為近年來免費主機的熱門選項
雖然免費規格漸漸縮水,卻依然保持一定的運行水準,
不會恣意刪除帳戶,系統穩定性十分良好,
從探針檢測免費版的系統負載約15%左右,
如果是成功綁定Visa卡片可以免費開通Bronze方案,
系統負載約10%以下,並能開通SSL功能,
不須搭配CloudFlareSSL功能即可搭建https站點。

由於OpenShift目前只提供PHP5.3~5.4的版本,
若需要運行其他版本需要另行編譯,
kooker.jp站長提供一鍵安裝Nginx+PHP7腳本,
省去費神的安裝步驟。

由於系統為Nginx,
需將nginx.conf進一步配置方能使用WordPress固定網址、瀏覽器快取、Gzip壓縮等功能。

OpenShift官網 https://www.openshift.com

openshift1

1.申請OpenShift服務並新增應用

請先註冊/ 登入OpenShift控制台

openshift2

新增應用(下圖為已新增應用的介面示範),點選Add Application…

openshift3

搜尋DIY,點選Do-It-Yourself 0.1

openshift4

鍵入欲使用的網址

openshift5

點選Create Application

openshift6

顯示OpenShift的連線資訊

ssh://帳戶ID@您應用的網域.rhcloud.com

openshift7

2.連線到OpenShift主機

為了便於管理OpenShift伺服器文件,
推薦使用WinSCP程序 http://www.azofreeware.com/2008/03/winscp-41-beta.html

請依序輸入到您使用的SSH連線系統,
由於OpenShift僅能透過金鑰進行交談式驗證,請先接續以下操作

openshift8

點選Settings

openshift9

請透過PuTTy Key Generator程序生成公鑰與私鑰

http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

詳細操作請參考 https://sofree.cc/openshift-teach-3/

openshift10

到您的SSH連線程式加入.ppk私鑰用來驗證

openshift11

開啟PuTTY進行連線(可搭配WinSCP操作)

https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

openshift12

3.執行Nginx與PHP7安裝腳本與後續配置

透過SSH連上的終端介面輸入

cd /tmp
wget --no-check-certificate https://www.kooker.jp/p7.sh
chmod 755 p7.sh
./p7.sh

參考教學 http://www.chenai.org/

備用程序請參考這裡

腳本內容請參考 http://www.32.tf/176.html

openshift13

大約半小時安裝完成,終端介面閒置一段時間將會自動斷開,即可開始配置站點。

openshift14

編輯nginx.conf

位置 /var/lib/openshift/帳戶ID/app-root/data/conf/nginx.conf

以下配置用於WordPress固定網址,請置於sever{裡面}

if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

參考教學 http://www.hueige.info/

openshift15

以下配置用於瀏覽器快取+CORS(上半)與Gzip壓縮(下半),請置於sever{裡面}

location ~* \.(css|js|jpg|jpeg|gif|ico|png|bmp|pict|csv|doc|pdf|pls|ppt|tif|tiff|eps|ejs|swf|midi|mid|ttf|eot|woff|otf|svg|svgz|webp|docx|xlsx|xls|pptx|ps|class|jar)$ {
 expires 1y;
}
location ~* \.(eot|ttf|woff|woff2)$ {
 add_header Access-Control-Allow-Origin *;
}

參考教學 https://www.yurendu.com/

快取檔案格式參考  https://support.cloudflare.com/

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/svg+xml;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

參考教學 https://www.slyar.com/

openshift16

如果文件不存在,則禁止Nginx 將發送請求到後端PHP-FPM,避免主機受到惡意注入腳本攻擊,
方法如下:

開啟檔案app-root/data/etc/php.ini編輯

cgi.fix_pathinfo=0

安裝應用可能會遇到資料庫無法連線的問題,
務必留意資料庫位置並不在localhost,
可進入phpMyAdmin進行查詢資料庫IP,
寫入wp-config.php即可。

openshift17

上方顯示伺服器: 資料庫IP:連接埠

openshift18

由於OpenShift系統的SSL應在console進行配置,
如果是Bronze方案請直接將網域憑證domain.crt跟中間憑證root.crt合併後,
再一同與.key上傳到console的網域配置即可。
(若使用OpenShift原本提供的網域並不需要安裝SSL即可將站點轉成https,或透過CloudFlareSSL均可處理憑證問題)

請勿將WordPress一般設定直接啟用https連線,
容易出現無窮迴圈的問題,
建議安裝Really Simple SSL外掛,
透過該外掛修改站點與資料庫的https,
並將外來素材轉換成https,避免站點出現混和http的問題,
請留意該外掛的配置,應勾選stop .htaccess編輯,由外掛修改頁面內容到https即可。

Really Simple SSL 外掛頁面 https://wordpress.org/plugins/really-simple-ssl/

openshift19

OpenShift運行Nginx與PHP7教程
標籤: