首页 > OMD > SEO > > 正文

网站迁移云服务器血泪记—phpcms小站迁移

发布人:zhoulujun    点击:

为了更好地服务读者朋友们,把网站升级改造:1、提高网站访问速度部署到腾讯云服务器http1升级到http2http转https加密遇到的问题,网站权限

为了更好地服务读者朋友们,把网站升级改造:

1、提高网站访问速度

部署到腾讯云服务器

http1升级到http2

http转https加密



遇到的问题,网站权限问题;

如果你把整个目录777,肯定能访问,但是,这是找死的节奏;

chown -R nginx:nginx site/

把文件组用户设置为nginx,然后设置为755,即可。

html  image css 等目录设置为644即可(这个看你爱好了)

这里推荐设置:

find /path -type f -exec chmod 644 {} \; //设置文件权限为644

find /path -type d -exec chmod 755 {} \; //设置目录权限为755

2.修改ssh 默认端口(这个很重要

  首先修改配置文件  vi /etc/ssh/sshd_config

  找到#Port 22一段,这里是标识默认使用22端口,修改为如下:

  Port 22  Port 50000  然后保存退出

  执行/etc/init.d/sshd restart  这样SSH端口将同时工作与22和50000上。

  现在编辑防火墙配置:vi /etc/sysconfig/iptables

  启用50000端口。  执行/etc/init.d/iptables restart(这个无效:用这个

        systemctl restart sshd.service


4.nginx路径转发:

路径转发,比如A/B/C 匹配A/E/D

 location  ueditor/php/upload/image/ {

        root /;

        rewrite ^/uploadfile/image/(.*)$ /$1 break;

    }


40x,50x 页面设置

对于404,403 400等页面设置提示处理,网上搜索的结果是这个:

    error_page 400 403 404 /404.html;

        location = /40x.html {

    }

    error_page 500 502 503 504 /50x.html;

        location = /50x.html {

    }

    copy,不生效

设置40x,50x 页面,重定向404页面等

这个是配置好的结果

    error_page  404 403  /40x.html;

    # 承接上面的location。

    location = /40x.html {

    # 放错误页面的目录路径。

        root  /data/wwwroot/zhoulujun;


    }


    error_page 500 502 503 504  /50x.html;

    # 承接上面的location。

    location = /50x.html {

    # 放错误页面的目录路径。

        root  /data/wwwroot/zhoulujun;


    }


    #error_page 404 /404.html;

    #location = https://www.zhoulujun.cn/40x.html {

    #}

    #error_page 500 502 503 504=https://www.zhoulujun.cn/50x.html

    #error_page 404 403  /50x.html

    #error_page 500 502 503 504 /50x.html

    #error_page 500 502 503 504 /50x.html;

    #    location = https://www.zhoulujun.cn/50x.html {

    #}

注释的,都是泪水!

还有关键一句:


页面6秒后跳回首页

http转https

页面里面内容需要转换,移除百度分享 百度站内搜索 百度推荐(百度官方不支持https——超级坑爹!,第三方插件,没有时间做安全评估

CDN,七牛只有http流量免费,https收费。白花花的钞票啊!拿钱赞赏我吧

完工后发现,PC端没有问题,手机android样式无法加载(css js 是引用七牛的HTTPs,就是原来资源路径 由http:// 转https:// ,就是死活加载不出来,猜测CDN资源证书要跟主站是一样。)

现在换成自己的,具体原因还在查看,如果您知道,不烦赐教


none-www转www

网上推荐 多个server 监听,nginx1.21实测无效

Screen Shot 2018-06-04 at 18.04.25.jpg


这里none-www转www,http转https结合一起,就产生问题了

最先开始配置:

server {

     listen 80 ;

     server_name localhsot;

     return 301 https://www.zhoulujun.cn$request_uri;

}

server {

     listen 443;

     server_name zhoulujun.cn;

     return 301 https://www.zhoulujun.cn$request_uri;

}

发现 https://www.zhoulujun.cn跳转到https://www.zhoulujun.cn没有问题,但是

https://zhoulujun.cn跳转到https://www.zhoulujun.cn 没有问题

http://zhoulujun.cn跳转到https://www.zhoulujun.cn  出现 400

把nginx配置改为i

server {

     listen 80 ;

     server_name localhsot;

     return 301 https://www.zhoulujun.cn$request_uri;

}

server {

     listen 443;

     server_name zhoulujun.cn;

     return 301 https://www.zhoulujun.cn$request_uri;

}

问题解决了,但是还是不理想,于是再改成如下配置

server {

     listen 80;

     listen 443;

     server_name zhoulujun.cn;

     error_page 497 https://www.zhoulujun.cn$request_uri; #当网站只允许https访问时,当用http访问时nginx会报出497错误码

     #rewrite ^ https://$server_name$request_uri? permanent #BAD

     #rewrite / https://www.zhoulujun.cn$request_uri permanent; #GOOD

     return 301 https://www.zhoulujun.cn$request_uri;

     #return 301 scheme://www.zhoulujun.cn$request_uri;

}


这里关于 return rewrite 的区别,google百度找了一圈,然后发现SB,还是直接到官网看省时间:https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#



这个暂时整理,太累了,连续填了好几天坑!

后续内容,补充在这里:

https://www.zhoulujun.cn/html/php/phpcms/2018_0608_8120.html