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下。
Linux Nginx的权限——访问本地目录报错403的更多相关文章
- Linux 下的权限改变与目录配置
Linux 下的权限改变与目录配置 ./代表本目录的意思. (1):用户与用户组, 1:文件所有者,文件被某一用户所有 2:用户组: 对文件给与一个或者多个用户权限配置 3:其它人: (2):l ...
- 在Linux上配置xampp后远程访问域名报错
在Linux上配置xampp后远程访问域名报错: New XAMPP security concept: Access to the requested object is only availabl ...
- Python使用requests模块访问HTTPS网站报错`certificate verify failed`
使用requests模块访问HTTPS网站报错: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Nam ...
- linux上安装完torch后仍报错:ImportError: No module named torch
linux上安装完torch后仍报错: Traceback (most recent call last): File , in <module> import torch ImportE ...
- Linux 下使用C语言 gets()函数报错
在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...
- 访问视频资源报错:Failed to load resource: net::ERR_CONNECTION_RESET
访问视频资源报错: 浏览器显示:Failed to load resource: net::ERR_CONNECTION_RESET. 原因:公司内部限制了访问外网资源,凡是视频资源都不能访问. 解决 ...
- nginx: [emerg] unknown directive “ ” in /usr/local/nginx/conf/vhost/XXX.conf:53报错处理
开发同事发给我一小段nginx配置,加到服务器上之后,执行nginx -s reload时,出现报错: nginx: [emerg] unknown directive “ ” in /usr/loc ...
- nginx访问报错403 is forbidden
由于开发需要,在本地环境中配置了nginx环境,使用的是Centos 6.5 的yum安装,安装一切正常,于是把网站文件用mv命令移动到了新的目录,并相应修改了配置文件,并重启Nginx. 重启就报个 ...
- nginx 设置http访问ftp目录内文件
设置 nginx “403 Forbidden” 错误的原因及解决办法 原文链接 https://www.cnblogs.com/chenzc/p/4461130.html nginx 的 403 F ...
随机推荐
- C 套接字
套接字函数 1 创建套接字──socket() 应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket()向应用程序提供创建套接字的手段, 其调用格式如下:SOCKET PASCAL ...
- 正则表达式检测IP地址与端口号是否合法
正则表达式检测IP地址与端口号是否合法,代码如下: 正则表达式检测IP地址 public static bool CheckAddress(string s) { bool isLegal = fal ...
- 完美解决: org.apache.ibatis.binding.BindingException Invalid bound statement (not found)
异常描述: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 原因: springboot ...
- SpringBoot整合Hibernate
编写配置文件 <!--配置读取properties文件--> <context:property-placeholder location="classpath:jdbc. ...
- Intellij IDEA 2019 最新优化配置
Intellij IDEA 2019 最新优化配置 转发自Dimple’s Blog 摘要: 之前在CSDN上写了一点关于IDEA的优化配置之类的文章,有些图片失效了,很多人都希望会有继续更新 ...
- Leetcode: Stream of Characters
Implement the StreamChecker class as follows: StreamChecker(words): Constructor, init the data struc ...
- SeetaFaceDetection识别人脸
SeetaFaceDetection识别人脸 #pragma warning(disable: 4819) #include <seeta/FaceEngine.h> #include & ...
- Spring cloud微服务安全实战-6-5jwt改造之日志及错误处理(1)
在代码里,我们没有认证或者授权的filter.认证和授权的工作现在基本上完全由Spring Security的过滤器接管了. 本节就来看下 如何在Spring Security的过滤器链上加入我们自己 ...
- 使用origin画SCI论文图
使用origin画SCI论文图 觉得有用的话,欢迎一起讨论相互学习~Follow Me start 使用的是OriginPro这款软件,这款软件的特点是 一个字 好 . 新建工作簿并导入数据 可以使用 ...
- SQL语句中exists/not exists的用法分析
作者:Dsw 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT ...