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
1.申请OpenShift服务并新增应用
请先注册/ 登入OpenShift控制台
新增应用(下图为已新增应用的接口示范),点选Add Application…
搜寻DIY,点选Do-It-Yourself 0.1
键入欲使用的网址
点选Create Application
显示OpenShift的连线资讯
ssh://帐户ID@您应用的网域.rhcloud.com
2.连线到OpenShift主机
为了便于管理OpenShift服务器文件,
推荐使用WinSCP程序 http://www.azofreeware.com/2008/03/winscp-41-beta.html
请依序输入到您使用的SSH连线系统,
由于OpenShift仅能透过金钥进行交谈式验证,请先接续以下操作
点选Settings
请透过PuTTy Key Generator程序生成公钥与私钥
http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
详细操作请参考 https://sofree.cc/openshift-teach-3/
到您的SSH连线程式加入.ppk私钥用来验证
https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
3.执行Nginx与PHP7安装脚本与后续配置
透过SSH连上的终端接口输入
cd /tmp wget --no-check-certificate https://www.kooker.jp/p7.sh chmod 755 p7.sh ./p7.sh
脚本内容请参考 http://www.32.tf/176.html
大约半小时安装完成,终端接口闲置一段时间将会自动断开,即可开始配置站点。
编辑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; }
以下配置用于浏览器快取+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://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]\.";
如果文件不存在,则禁止Nginx 将发送请求到后端PHP-FPM,避免主机受到恶意注入脚本攻击,
方法如下:
开启档案app-root/data/etc/php.ini编辑
cgi.fix_pathinfo=0
安装应用可能会遇到数据库无法连线的问题,
务必留意数据库位置并不在localhost,
可进入phpMyAdmin进行查询数据库IP,
写入wp-config.php即可。
上方显示服务器: 数据库IP:连接埠
由于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/