新的Laravel安装显示403禁止在Nginx


Fresh Laravel install displays 403 Forbidden in Nginx

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

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

请帮帮我。提前谢谢你。

这里是nginx default.conf

Laravel项目从<projectName>/public目录服务。确保你的nginx配置设置在那里寻找你的索引文件,而不是在你的<projectName>文件夹。

你会编辑你的问题并粘贴你的服务器配置吗?

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

index index.html index.php;

try_files $uri $uri/ =404;

接受的答案是正确的- Laravel服务从public文件夹,你需要告诉nginx去那里看-但也有点模糊,如果你碰到这个问题。当你在Homestead安装中添加新的站点到你的。yaml文件中,并使用vagrant provisionvagrant up --provision,创建的nginx配置文件需要在Laravel正确服务文件之前进行编辑。

进入命令行,使用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,重新启动nginx使用sudo nginx -s reload。您的路由现在可以工作了!