当在使用alist作为储存程序时,通常使用docker或者二进制文件而不是手动编译。
白屏问题
白屏问题描述以及判断
当在使用alist作为储存程序时,通常使用docker或者二进制文件而不是手动编译。
当在使用二进制时可以使用screen或者systemctl作为守护程序。
当在使用默认nginx配置文件并尝试添加Alist监听在5244的端口后,出现白屏。。。
经过chrome浏览器控制台判断,显示'index.afc5cbef.js 404 error',经异地服务器nginx判断并无复现问题,遂得出是本地nginx配置问题。
白屏问题解决
经网上搜集并未出现与Alist+nginx,相似的白屏问题。
仔细查看nginx配置文件找到一处与js文件相关的配置参数:
location ~ .*\.(js|css)?$ {
expires 7d; # 设置缓存过期时间为 7 天,客户端会缓存这些文件,减少请求频率。
access_log off; # 禁用访问日志,减少日志文件体积。
}
于是systemctl reload nginx 白屏问题解决。
补充
如果静态资源文件放在特定目录(如 /static 或 /assets)(alist同款),可以直接使用路径匹配,而不使用正则:
location ~* \.(js|css)$ {
expires 7d;
access_log off;
}
systemctl守护问题
问题描述,当执行alist时,alist会识别当前目录下的data配置文件夹。
当程序根目录已经有data文件夹,并且以root权限把alist作为守护程序后,程序仍然会识别alist为新建程序并在系统根目录创建新的data文件夹。
解决问题
根据chatgpt查询得知,需要在systemctl守护文件中添加参数
WorkingDirectory=/path/to/directory
于是systemctl daemon-reload 解决问题。