• 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下。

  • 相关阅读:
    Spring&AOP&JDK和Cglib动态代理&AspectJ进行AOP开发(XML方式)
    python 切换工作目录
    python 布隆过滤器
    python sys.path.append()
    python encrypt 实现AES加密
    python 魔术方法
    python re匹配中文和非中文
    python 文件整理 shutil
    python定时任务框架
    mac 系统修改环境变量
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/11067248.html
Copyright © 2020-2023  润新知