网页端变形问题,求解!!!

我在azure上使用一个ubuntu LTS 的虚拟机搭配sqlite和nginx来做seafile服务器,所有的配置都是按照教程上走的,没有启用https。可是每次打开网页端都是这个样子。。。


我试过改变/seahub下文件夹的权限,也试过删除/tmp下的缓存,但是每次重启缓存都会重新出来。
请问如何解决这个网页端的问题?

我服务器端用的windows2008系统,客户端用的win7,在360浏览器的兼容模式和极速模式下也都会出现和你一样的情况(大多数是在进入设置的时候),不过换了个google chrome 后问题就没出现了。
但是在本地局域网的时候使用私有地址访问,不管我使用360的哪种模式都不会出现排版混乱的情况,但只要一经过外网防火墙,就不知道被pass掉了什么,排版就乱了。

问题已解决!(好开心!:laughing:
由于我嫌麻烦所以就直接用的是root用户,所有的文件和数据也都属于root,但是nginx在安装的时候默认用户为www-data,而这个用户的权限又很低,无法访问到/seahub目录下的网页排版文件,所以才造成了乱码。

我先是用$top检查进程所属用户的时候发现:

23782 www-data 20 0 125444 3208 1616 S 0.3 0.2 0:00.07 nginx

从而得知nginx的进程所属用户权限不够

然后又在/var/log/nginx/error.log下发现了以下错误:

2018/04/04 20:35:59 [error] 24005#24005: *4 open() “/root/seafile/seafile-server-latest/seahub/media/img/seafile-logo.png” failed (13: Permission denied), client: 192.168.0.121, server: 192.168.0.129, request: “GET /media/img/seafile-logo.png HTTP/1.1”, host: “192.168.0.129”, referrer: “http://192.168.0.129/

所以我就得知是默认用户的问题。

其实有两重办法解决这个问题,第一种是用chown www-data:www-data -R *来给www-data权限去访问排版文件,但是这样的话root用户可能会受到影响。所以我在/etc/nginx/nginx.conf中的第一行将

user www-data;

改为:

user root;

然后nginx -t && nginx -s reload

重新刷新浏览器就好了!

这是我第一次在技术论坛上发言,又因为刚刚把这个大问题解决了,我感到异常开心…希望能帮到大家!:sunglasses:

Billy Liang
Best regards

2 个赞