网站推广的含义,哈尔滨市招标网,网站建设有什么专业术语,男女做那个的网站是什么nginx作为使用最广泛的一款反向代理软件#xff0c;其性能也是非常优秀的#xff0c;一般情况下#xff0c;直接配置就可以使用#xff0c;而且也都是稳定高效的#xff0c;但是在实际应用中#xff0c;对于不同的应用场景#xff0c;总是会出现各种各样的问题#xff…nginx作为使用最广泛的一款反向代理软件其性能也是非常优秀的一般情况下直接配置就可以使用而且也都是稳定高效的但是在实际应用中对于不同的应用场景总是会出现各种各样的问题只能遇到问题再查找解决问题的解决办法了。
1、现象
前端页面提示打开文件失败 意思就是加载文件失败。
https://bull.lab/owa/prem/15.1.1979.3/scripts/boot.owaframe.0.narrow.js?bo1
直接打开文件的时候文件是可以正常访问的。
查看error.log报错信息
2024/07/30 15:29:02 [crit] 9021#9021: *251268 open() /var/lib/nginx/tmp/proxy/6/66/0000000666 failed (13: Permission denied) while reading upstream, client: 10.8.13.42, server: bull.lab, request: GET /owa/prem/15.1.1979.3/scripts/boot.owaframe.3.narrow.js HTTP/1.1, upstream: https://10.11.24.44:443/owa/prem/15.1.1979.3/scripts/boot.owaframe.3.narrow.js, host: bull.lab2、原因分析 从错误信息来看nginx是在写代理 临时文件目录 temp下文件时候出现了权限不足 Permission denied 没有配置proxy_temp_file_write_size属性。属性作用当你访问资源信息超过该参数设置的大小时nginx会先将文件写入临时目录(这里是/var/lib/nginx/tmp)。所以这里我们可以配置该属性重启nginx解决问题。但这不是问题证明解决方法。即无权限问题我们查看进程及文件目录用户属性。
查看对应的目录权限
#: ll /var/lib/nginx/
total 0
drwxr-x--- 7 root root 78 May 31 13:24 tmp
在没有出现问题的机器上是这样的可以看到目录权限为root。
继续查看另外没有出现问题的机器上的信息如下可以看到nginx用户具有相关权限。
# ll /var/lib/nginx
drwxrwx--- 7 nginx root 78 Jul 27 2022 tmp
查询进程的执行用户。
# ps -ef | grep nginx
root 29603 25150 0 09:18 pts/1 00:00:00 grep --colorauto nginx
nginx 91485 97955 0 Jul30 ? 00:00:00 nginx: worker process
nginx 91486 97955 0 Jul30 ? 00:00:00 nginx: worker process
nginx 91487 97955 0 Jul30 ? 00:00:00 nginx: worker process
nginx 91488 97955 0 Jul30 ? 00:00:00 nginx: worker process
nginx进程的用户为nginx。
3、解决方法
1、修改proxy_temp_file_write_size限制大小避免写入临时文件
proxy_temp_file_write_size 64k; #设定缓存文件夹大小
实际上有时下载文件达到几百K比如本次遇到问题是的文件原始大小为605K所以添加这个配置也只是缓解一般情况下的问题不解决根本性的问题。 2、修改temp目录用户权限和启动nginx worker权限一致重新加载配置nginx -s reload
chown -R nginx:nginx /usr/local/nginx/temp
这种方式是合适的解决办法。
3. 修改nginx的启动用户在nginx的配置文件nginx.conf文件中
user root;
设置完成后重新加载配置nginx -s reload即可。