【问题标题】:Fresh Laravel install displays 403 Forbidden in Nginx新鲜的 Laravel 安装在 Nginx 中显示 403 Forbidden
【发布时间】:2014-06-23 19:37:45
【问题描述】:

我使用composer create-project 命令创建了一个全新的 Laravel 应用程序。然后我把所有的文件夹和文件放在/usr/share/nginx/html/,这是我的nginx服务器的默认文档根目录。但是每次我运行http://localhost 时,它都会一直显示403 Forbiden。我尝试创建一个测试 index.php (<? php_info();) 并且效果很好。

我在某处读到需要将包含文件夹 (/html) 以及 app/storage 文件夹权限设置为 777,但仍然没有运气。

请帮助我。提前谢谢你。

这里是 nginx default.conf

【问题讨论】:

  • 403 可能是因为配置指向一个文件夹,而该文件夹不包含索引,所以 nginx 尝试列出该目录,但是因为 autoindex 关闭,所以它返回了一个禁止的错误,粘贴您的配置将帮助我们帮助您。

标签: php nginx laravel centos


【解决方案1】:

接受的答案是正确的——来自public 文件夹的 Laravel 服务,你需要告诉 nginx 去那里看看——但如果你遇到这个问题,也有点模糊。当您通过将 Homestead 安装上的新站点添加到 .yaml 文件并使用 vagrant provisionvagrant up --provision 来创建新站点时,需要编辑创建的 nginx conf 文件,然后 Laravel 才能正确提供文件。

转到您的 CLI,然后使用 vagrant sshhomestead ssh 输入 Homestead。它会询问你的密码,默认是“vagrant”。

进入虚拟机后,输入以下命令:

sudo nano /etc/nginx/sites-enabled/your-site-name-here

然后将/public 添加到文件顶部附近现有根目录的末尾(类似于/home/vagrant/projects/your-site 开头并保存在 Nano (ctrl+s) 中,然后退出 nano (ctrl+ x)。

退出 Nano 后,使用 sudo nginx -s reload 重新启动 nginx。您的路由现在可以工作了!

【讨论】:

    【解决方案2】:

    Laravel 项目从 <projectName>/public 目录提供服务。确保您的 nginx 配置设置为在那里查找您的索引文件,而不是仅在您的 <projectName> 文件夹中。

    【讨论】:

      【解决方案3】:

      您会编辑您的问题并将您的服务器配置粘贴到那里吗?

      我认为可能是因为 index.php 不在索引文件列表中。检查这些行:

      index index.html index.php;
      

      try_files $uri $uri/ =404;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-31
        • 2020-06-27
        • 2020-06-04
        • 2012-02-17
        • 1970-01-01
        • 2020-12-04
        • 1970-01-01
        • 2017-01-13
        相关资源
        最近更新 更多