当前位置:网站首页 / 网站技术 / 正文

关于微服务全量升级时静态资源的升级方案(续)

时间:2018年12月18日 | 作者 : 刘相涛 | 分类 : 网站技术 | 浏览: 45次 | 评论 0

前文说了微服务全量升级时静态资源的升级的方案,就是利用OSSfs服务将远程的oss服务器挂载到本地,今天再具体操作的时候发现了一些问题,解决起来也是颇费周折,各种方法都尝试过了,才再次体味到了世事无常,莫名其妙的多出了这些工作量,我能预料可能会存在问题,但是却无法预料到问题如此棘手。


第一个问题是上传文件的类型问题

现象:通过OSS客户端上传的css样式文件,在访问网站页面的时候一切正常,而通过ossfs的方式上传后的文件,却在访问网站的时候没有样式,但是通过F12跟踪请求的情况一切正常。

……分析,调试,对比……此处省略5000字

原因:在通过scp上传css文件的时候,文件类型被偷梁换柱的转换了,本来应该是text/css类型的文件却变成了application/octet-stream,导致页面渲染样式失败,而从请求来看没有任何异常……。

之所以出现这种情况是因为ossfs通过查询/etc/mime.types中的内容来确定文件的Content-Type,如果该文件不存在或者内容不全,文件类型就会被置成一个默认值。

解决办法:通过yum install mailcap命令添加,添加后的部分内容如下图

image.png

重新进行挂载并再次上传css文件,类型正常了,网站的访问也正常了。


第二个问题是挂载权限

现象:文件解压时无法创建文件夹。

原因是挂载的根文件的权限只允许属主进行读写,所以在其内部创建文件夹的时候,如果是非属主用户就会没有权限,哪怕是超级用户root也不行

image.png

解决方案:挂载oss的时候加上参数-o allow_other,默认赋予挂载目录777权限,特别的,这个参数只是对目录有效,目录内的文件并不会继承该目录的权限

ossfs your_bucket your_mount_point -ourl=your_endpoint -o allow_other

推荐您阅读更多有关于“微服务静态资源OSS,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

名言警句
«   2019年1月   »
123456
78910111213
14151617181920
21222324252627
28293031
随机文章
友情链接
最新留言
  • ALTER TABLE member ALTER COLUMN username SET DEFAULT '亲爱的用户';
  • 留名收藏,肯定有用的
  • 文章不错非常喜欢
  • 偶然路过,博主加油!!!
  • usermod -l developer -d /home/developer -m sftp_asyn_owngroupmod -n developer sftp_asyn_own
  • 文章不错非常喜欢
  • 赞一个,学习了
  • 向下的目录可以是非root用户
  • ChrootDirectory目录必须是root用户所有,目录开始一直往上到系统根目录为止的目录拥有者都只能是 root,用户组可以不是 root, 权限是 750 或者 755
  • [root@iZ23am9cwvgZ sftpFinance]# mount -t nfs -o rw 10.174.107.216:/alidata/sftpFinance /alidata/sftpFinance mount.nfs: rpc.statd is not running but is required for remote locking.mount.nfs: Either use '-o nolock' to keep locks local, or start statd.mount.nfs: Operation not permitted[root@iZ23am9cwvgZ sftpFinance]# /sbin/service nfslock start[root@iZ23am9cwvgZ sftpFinance]#
  • chown root:root ./sftp_bill99
  • fatal: bad ownership or modes for chroot directory "/alidata/sftpFinance/sftp_own"→chown -R root:root /alidata/sftpFinance/sftp_own
  • aliyun linux 4以前的版本的重启命令:/etc/init.d/sshd restart4以后的版本重启命令:systemctl restart sshd
  • chmod 600 ./.ssh/authorized_keyschmod 700 .ssh
  • 加油,青衫慧博客域名已更换为:qsh5.cn 麻烦贵站更新一下友链,谢谢
  • 您的鼓励,我的动力
  • 我是IT客
  • 歌曲 - 歌手
    0:00