用老域名做新网站 权重怎么传递,微信营销方法,建筑公司网站源码开源,网站做推荐链接端口一、 问题描述背景描述#xff1a;0.saas-business-运营后台#xff0c;website-网站页面。1.javaweb程序(saas-business)部署在linux系统 tomcat服务器下#xff0c;使用该程序里面上传图片功能#xff0c;上传图片至linux服务器挂载盘(共享盘)中/nfs/uploads/目录下。tom…一、 问题描述背景描述0.saas-business-运营后台website-网站页面。1.javaweb程序(saas-business)部署在linux系统 tomcat服务器下使用该程序里面上传图片功能上传图片至linux服务器挂载盘(共享盘)中/nfs/uploads/目录下。tomcat是以root用户来运行的。2.website,部署在另一台linux系统ngxin容器中该台linux系统也挂载了(共享盘)/nfs/uploads/目录。ngixn是以其他组的角色来运行的。操作我通过saas-business里面的上传图片功能 上传图片到/nfs/uploads/下查看服务器确实已经上传成功。然后在浏览器中访问website程序却访问不到刚刚上传的图片。问题图片成功上传到linux服务器共享盘中但却在网页中访问不到二、 表面原因在linux 中挂在盘目录下查看刚刚上传的图片确实已经上传成功。[roottmp4 backgroundImg]# ll总用量 408-rw-r----- 1 root root 414642 7月 11 17:27 login_background.jpg可以看到 login_background.jpg图片对于当前 拥有者 、群组 、其它组 分别是读写、读、无。显而易见website是nginx容器以其他组的一个用户来运行的所有没有任何权限。找到表面原因我们可以直接修改图片的权限。[roottmp4 backgroundImg]# chmod 644 login_background.jpg[roottmp4 backgroundImg]# ll总用量 408-rw-r--r-- 1 root root 414642 7月 11 17:27 login_background.jpg此时通过网站访问 该图片便没有问题。三、 根本原因因为tomcat版本的差别。我当前使用的是tomcat8.5.,当我将为tomcat8.0.24版本便没有此问题。下面做的配置是以tomcat8.5.版本 为例的。a)、检查linuxlinux文件访问默认权限与umask有关查看系统默认配置(/etc/profile)是否正常如果是002或022就正常没有问题。[umask 002 对应文件权限664文件夹权限775;umask 022对应文件权限644文件夹权限755]b)、检查tomcat打开bin/catalina.sh文件检查大概在263行左右。将0027改改为0022重启tomcat上传访问的问题解决。清单一、原代码# Set UMASK unless it has been overriddenif [ -z $UMASK ]; thenUMASK0027fi清单二、修改为# Set UMASK unless it has been overriddenif [ -z $UMASK ]; thenUMASK0022fic)、重启tomcatsh shutdown.sh(关闭)sh startup.sh 或者 ./startup.sh(启动)四、总结Javaweb上传文件到Linux 没有读写权限最后总结有以下3种解决方案。1.将程序在容器中以root用户运行。这时候运行权限最高。(如我可以将website,由其他用户组的nginx角色改为所有者root权限便没有此问题)。2.降低我的tomcat版本。(这个也是可行的)3.修改tomcat中的bin/catalina.sh配置并重启tomcat(这个我觉得是最根本的推荐使用)彩蛋查看程序启动用户ps -ef | grep tomcat