• Linux Nginx的权限——访问本地目录报错403


      在安装好FastDFS并成功上传图片文件后,根据FastDFS返回的文件地址无法通过HTTP(即浏览器)访问到,报错404或者403。

      不管是Error 404还是Error 403,基本都是Nginx的配置出了问题。

      Nginx的配置文件是:/etc/nginx/nginx.conf

      如果是Error 404,很可能是其中server中location的对本地文件url的映射配置有问题,这里不详述。

      如果是Error 403,拒绝访问。那么是权限问题。

      我的情况是,我把图片的文件保存地址放在了“/root/...”下,而nginx接收到请求后无权限访问。

      所以要么就更改/root文件夹的权限,要么重新设置Nginx的权限。

      在StackOverFlow找到了解决办法:Nginx can't access root directory in sites-available.

      简单说一下:

      根据Nginx的官方文档,Nginx程序有两种进程:

      一种是master process,即主进程,系统中只有一个。主进程的主要目的是读取和评估配置文件,以及维护工作进程。

      一种是worker process,即工作进程,系统中可以有多个。工作进程执行请求的实际处理。 NGINX依赖于依赖操作系统的机制来有效地在工作进程之间分配请求。工作进程数由nginx.conf配置文件中的worker_processes指令定义,可以设置为固定数字,也可以配置为自动调整为可用CPU核心数。

      直接查看现在系统中的Nginx进程:

    user@user:~$ ps aux|grep nginx|grep -v grep

      我的是看到一个master,和一个worker。然后master的权限为root,worker的权限为nobody。

      在我的/etc/nginx/nginx.conf的头部,有个注释行#user:nobody,Nginx的文档也说默认是nobody,取消注释,将nobody改成root。ok,可以通过HTTP访问上传保存在/root中的图片了。

      最后,我觉得不应该把FastDFS的保存地址放在/root下。

  • 相关阅读:
    Metabase研究 开源的数据报表
    Redis配置不当致使root被提权漏洞
    一个程序员被骗去养猪
    调度器简介,以及Linux的调度策略
    Linux的内存分页管理
    在地铁11号线上写书
    为什么说“概率”带来一场现代革命?
    快速学习Bash
    用树莓派玩转蓝牙
    树莓派的GPIO编程
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/11067248.html
Copyright © 2020-2023  润新知