首先了解下:403 forbidden错误是禁止读取访问。也就是说服务器理解了请求,但是不允许访问
先看下初始nginx配置:
#user nobody;# 注意这里,nginx没有使用什么身份运行
...
http {
....
server {
...
#配置图片访问
location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
#默认的图片路径,也是ftp上传文件存放的路径,只要后缀是以上的都会到这个路径下搜索
root /home/ftpuser/www/images;
}
....
}
配置的图片位置是:root /home/ftpuser/www/images;
解决:
先确定路径是否存在:cd /home/ftpuser/www/images。命令执行正常。
出现这个问题的原因是文件访问权限限制。
在我搭建的过程中,/home/ftpuser 是用户ftpuser 的,可以访问的只有root用户和ftpuser用户,解决这个访问权限有两种解决方法。
第一种:修改相关文件夹的访问权限(在这里是www/iamges),使任何用户可以访问。
第二种:修改nginx运行用户。
在nginx的配置文件nginx.congf 中,在开头添加这一句:
user root
当然,创建该文件夹的用户也可以,总之该用户可以访问这个文件夹。
修改之后,记得重启nginx。
修改之后,访问成功。