nginx laravel 静态文件访问不到 403

2019-12-01 18:30:03

如果要部署服务器,用nginx,php-fpm,php,一定要注意用户问题,前面几篇文章,我们介绍了如何配置用户。

下面我们要注意的是,一定不要在root文件夹下面部署服务,否则会面临很多异样的问题。

下面我们就因为在root目录下面创建了服务,发生了找不到静态文件的问题,404

参考地址 nginx配置文件里user只能是root,否则报403错误


yum 一个全新的nginx,版本是1.12.2的


直接启动,浏览器输入localhost访问的nginx页面


1、当我将nginx.conf配置文件里root 路径改成/root/html/index.html


#mkdir /root/html

#echo hello > /root/html/index.html

(不用改访问目录权限。不放心对照原始成功的/usr/share/nginx/html/index.html的路径权限)

报错:

root@localhost nginx]# curl localhost

<html>

<head><title>403 Forbidden</title></head>

<body bgcolor="white">

<center><h1>403 Forbidden</h1></center>

<hr><center>nginx/1.12.2</center>

</body>

</html>

查看错误日志:

[root@localhost nginx]# tail -n30 error.log 

2018/01/30 01:35:57 [error] 3511#0: *1 "/root/html/index.html" is forbidden (13: Permission denied), client: ::1, server: _, request: "GET / HTTP/1.1", host: "localhost"

2018/01/30 01:36:50 [error] 3567#0: *1 "/root/html/index.html" is forbidden (13: Permission denied), client: ::1, server: _, request: "GET / HTTP/1.1", host: "localhost"

2018/01/30 01:37:20 [error] 3640#0: *1 "/root/html/index.html" is forbidden (13: Permission denied), client: ::1, server: _, request: "GET / HTTP/1.1", host: "localhost"

2018/01/30 01:38:40 [error] 3640#0: *2 "/root/html/index.html" is forbidden (13: Permission denied), client: ::1, server: _, request: "GET / HTTP/1.1", host: "localhost"

2018/01/30 01:40:27 [error] 3878#0: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: ::1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "localhost"

2018/01/30 01:40:27 [error] 3878#0: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: ::1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "localhost"

2018/01/30 01:50:58 [error] 4590#0: *1 "/root/html/index.html" is forbidden (13: Permission denied), client: ::1, server: _, request: "GET / HTTP/1.1", host: "localhost"



2、再改,将nginx.conf里的user nginx改成

user root;

成功:

[root@localhost ~]# curl localhost

hello

3、不行,我不要将user 变成root,改回来:

user nginx;


重启后,报403的错误。



参考解答:https://stackoverflow.com/questions/31729212/nginx-root-index-html-forbidden-13-permission-denied


4、将访问目录换出root

      我改成了/data/html/index.html

 okokokoko



总结:用户和访问路径不符合。

指定root用户 -----访问路径随便

其他用户(nginx,www)----->访问路径就不可以在/root下



  • 2020-01-10 21:59:08

    supervisor 永不挂掉的进程 安装以及使用

    在使用Tp的消息队列 think-queue的时候进程意外结束了!导致项目没法运行; 所以用到了supervisor ; 接下来跟大家分享一下自己的使用心得以及安装到使用的方法;

  • 2020-01-10 22:00:23

    又一款内网穿透工具搭建

    最近一个项目需要用到将订单发布到第三方平台,之后要是有人购买他们会请求我们这边的接口来改变订单状态等! 由于本地开发,测试的时候,他们那边请求我们这边接口的时候没法访问内网 所以要用到内网穿透 当然现在也有很多更简单的 比如花生壳就是很好的!

  • 2020-01-13 11:14:43

    p标签中的文本换行显示空白

    white-space: 如何处理元素中的空白,normal: 默认, 被浏览器忽略空白 pre: 空白被浏览器保留. nowrap: 文本不会换行, 会在同一行上继续, 一直走到需要换行为止 pre-wrap: 保留空白符序列, 但正常换行 pre-line: 合并空白符序列, 但正常换行 inherit: 从父元素继承white-space这个属性

  • 2020-01-13 11:26:40

    Ueditor报错not import language file vue

    解决办法,手动加载语言文件,提供了手动加载语言文件,避免ie下有时会因语言文件加载失败导致编辑器加载失败,提示"not import language file"的错误

  • 2020-01-13 11:30:56

    解决Uncaught SyntaxError: Unexpected token <

    今天写代码的时候发现了"Uncaught SyntaxError: Unexpected token <" <html>的js错误,而且还是html的第一行,我就蒙了,这第一行有啥问题啊,还有一个“<”符号,我以为是我的网页标签没有闭包,所以检查了一下,都不是啊!错误如图。

  • 2020-01-13 14:53:51

    sass中使用calc计算表达式变量问题

    calc()是css的一个函数,可用于元素计算长度,比如div宽度想要减去一个固定宽度后并自适应,可以写为calc(100% - 60px) 注意“-”两边有空格 sass已经是常用的预编译语言,允许使用变量等规则,如果上边写到60px是一个变量,这个表达怎么写呢

  • 2020-01-13 21:01:04

    vue路由的异步加载(懒加载)方法

    vue本身不多介绍。直接说问题,因为vue的所有路由都是加载在一个app.js里的,如果项目巨大,那么首页加载会是灾难。所以我们就需要把某些路由用异步加载(懒加载)的方式进行加载.