网站迁移云服务器血泪记—phpcms小站迁移
Author:zhoulujun Date:
为了更好地服务读者朋友们,把网站升级改造:
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实测无效
这里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
转载本站文章《网站迁移云服务器血泪记—phpcms小站迁移》,
请注明出处:https://www.zhoulujun.cn/html/Operation/seo/2018_0604_8119.html