文章目录

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教程
标签: