这是线上的一个问题:
客服反映真实拍客户端上传不了图片
当我听到这样的问题的时候,大脑中第一反映可能有几个原因:
1,真实拍图片CDN系统挂了?
2,网络问题,磁盘问题,IO问题?
3,客户端app某些版本的问题?
4,图片本身的问题例如太大?
5,人品问题。
呵呵,第5个原因当然只是一个玩笑。
带着这些问题,登陆到服务器去查看日志,只是发现图片找不到的异常,而PC端是可以正常上传图片的。
经试验,客户端所有版本好像都上传不了图片,一时半刻好像找不到解决办法。
怀疑是代码最近哪里有更改的问题吗,但不太可能,因为涉及到图片上传的这块很少改动,还是先把最新
trunk的代码在测试服务器上去发布下看看吧,上传图片是正常的。
线上服务器前几天还是正常的,为什么今天就不能上传呢?
自己写个模拟上传图片的问题去测测,或者在一个jsp页面写段代码区调用下上传图片的代码,看看是否正常。
<form action="http://s.taofen8.com/upload/userIcon?userId=1&cookie=2&key=f" method="post" enctype="multipart/form-data" > <input type="text" name="userId" value="1" /><br> <input type="text" name="cookie" value="2" /><br> <input type="text" name="key" value="" /><br> 文件<input type="file" name="upfile" size="50"><br> <input type="submit" /> </form>
测试环境,正常,但线上环境就是上传不上去
查看上传图片的临时目录,/home/www/deploy/showSAN/temp,测试环境就有图片,奇怪的是线上环境就是没有图片。
好奇怪? 心里能想到的是前一天只是对线上这个temp图片做过清理操作,因为线上的空间不是很多,难道删除掉这些图片也有影响吗?这不科学啊。
难道这temp目录,线上和测试有什么不一样的吗?
线上用命令 ll 查看一下,果然有问题:
这个temp目录是root权限 root用户,而master系统是tomcat6用户
所以tomcat6权限的用户上传到root权限的用户,上传不了,没有这个权限。
找到真正的原因了,那就只有把temp目录的权限授予tomcat6,执行下面的命令:
sudo chown -R tomcat6:tomcat6 /home/www/deploy/showSAN/temp
现在就可以正常上传图片了,问题解决。
清理temp的命令为这个:
find /home/www/deploy/showSAN/temp -name "*.jpg" -mtime +1 -print | sudo xargs rm -rf
并不是这个命令本身的问题,而是直接删除掉了temp目录,再重新建立的temp目录,忘记授权了。
总结: 这个问题比较奇怪的是,线上就是报图片为空的异常错误,但没有报目录未授权的错误,所以比较难查,
但只要一步一步排查,测试环境,线上环境,多去试试,联想到最近有什么更改,还是可以找到出现问题最根本的原因的,所以写了这篇文章作为记录。
相关推荐
1. **设备替换法**:虽然这种方法可以作为参考,但并不能完全确定问题所在,因为有些问题是由于环境因素造成的,可能不会立即显现。例如,如果替换下来的疑似故障设备单独测试没有问题,则可能是布线等环境干扰问题...
5. **下一步工作计划**:针对存在的问题,广播电视台将持续学习政务公开文件,落实专人负责,加强自查监督,提升业务人员素质,优化信息发布,确保信息及时、准确、合规。 这些整改报告反映了广播电视台在政务公开...
《Oracle 12c RAC安装与运维说明手册》详细介绍了如何在Oracle数据库12c版本上安装与维护RAC(Real Application Clusters,真实应用集群)环境。RAC是Oracle数据库提供的一个高级特性,它允许多台服务器共同访问同一...
这种可视化的方式不仅有助于网络工程师和管理员快速了解网络结构,还能实时监控网络流量,对于网络故障排查、性能优化以及日常维护工作都有着不可估量的价值。SolarWinds Map Maker的灵活性和强大功能使其成为IT专业...
4. **模拟测试**:提供模拟火警、故障等场景的功能,以检验系统是否能正确响应并触发相应的动作,确保在真实情况下能可靠工作。 5. **日志记录**:软件应具备记录和查看系统事件日志的能力,便于故障排查和维护。 ...
- **双线圈问题**:在同一程序中对同一输出地址进行多次写操作可能导致不一致的行为。 ##### 2.25. 双线圈的原理 - **原理解析**:深入探讨双线圈现象产生的原因及其解决方案。 ##### 2.26. 软元件注释的输入 - ...