Tencent Cloud 2 CodingNET 2 OpenShift

入职后才开始建立这个个人博客,不过三个月,但已经迁移了两次了。

标题是迁移历程。

上海 ->; 香港 ->; 美国

开始是在腾讯云上,未备案的域名使用了https方式部署在上面,快两个月,一直安好。

近段时间摸索着Docker,Docker的pull从10K+ -> 100K+ 花去了10天,鸡冻之余决定用唯一的服务器做Docker练手,于是博客的数据就开始迁移。
使用了Hexo,用了Hacker的主题模板,部署在Coding的pages上。

就是上面那样,超清新的样子。对的,那时候我还在日企工作呢。

大四,暑假结束,开学了。一大堆的琐事,

由此,一不小心删掉了Hexo的部署环境,2333333333

正好这两天十一放假了,部署到OpenShift。

部署环境NGINX+PHP7+MYSQL+PHPMYADMIN

之前在OpenShift上用NGINX伪静态一直没有搞定,虽然可以用Apache+PHP但是总是服务器超负荷就挂掉了。

这次用到了NGINX+PHP7,决心狠狠搞一波事情。

研究后发现了解决方案。

SSH 连接后 搜索deflaut.conf文件
find ./ -name default.conf

一般是在app-root/runtime/repo//config/nginx.d/这个路径下
进入这个文件夹cd app-root/runtime/repo//config/nginx.d/

编辑deflaut.conf,在

set_real_ip_from127.3.71.129;
real_ip_headerX-Forwarded-For;
# avoid caching by proxies
add_headerCache-Control private;

后插入伪静态规则

if (-d $request_filename){
rewrite ^/(.*)([^/])$ https://$host/$1$2/ permanent;
}
 
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;
}

如果是Nginx,需要http自动跳转到https,还需要加入代码

if ($http_x_forwarded_proto != https){
    rewrite ^(.*) https://$host$request_uri? permanent;
}

另外openshift还提供了一个测试域名,在测试域名上依然可以访问到我们的网站,所以也需要加一个条状。

if ($host != 'jinfeijie.cn') {
    rewrite ^/(.*)$ https://jinfeijie.cn/$1 permanent;
}

综合代码如下:

if ($host != 'jinfeijie.cn') {
rewrite ^/(.*)$ https://jinfeijie.cn/$1 permanent;
}
 
if ($http_x_forwarded_proto != https){
rewrite ^(.*) https://$host$request_uri? permanent;
}
if (-d $request_filename){
rewrite ^/(.*)([^/])$ https://$host/$1$2/ permanent;
}
 
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;
}

 

然后重启NGINX,service nginx restart伪静态规则就会生效。