我使用composer create-project
命令创建了一个全新的Laravel应用程序。然后我将所有文件夹和文件放在/usr/share/nginx/html/
中,这是我的nginx服务器的默认文档根目录。但是,每次我运行http://localhost
时,它都会一直显示403 Forbiden
。我尝试创建一个测试index.php (<? php_info();)
并且工作正常。
我已经在某个地方读过我需要设置包含文件夹(/ html),以及app/storage
文件夹权限到777,但仍然没有运气。
请帮帮我。提前谢谢。
这是nginx default.conf
答案 0 :(得分:8)
Laravel项目来自<projectName>/public
目录。确保您的nginx配置设置为查找索引文件,而不是仅在<projectName>
文件夹中。
答案 1 :(得分:5)
您是否会编辑问题并将服务器配置粘贴到那里?
我认为可能是因为index.php不在索引文件列表中。检查这些行:
index index.html index.php;
或
try_files $uri $uri/ =404;
答案 2 :(得分:0)
可接受的答案是正确的-public
文件夹中的Laravel服务,您需要告诉nginx在那里,但是如果您遇到这个问题,也有点含糊。当您在Homestead安装上通过将新站点添加到.yaml文件并使用vagrant provision
或vagrant up --provision
创建新站点时,在Laravel正确提供文件之前,将需要编辑创建的nginx conf文件。
转到您的CLI,然后使用vagrant ssh
或homestead ssh
输入Homestead。它将要求您输入密码,默认情况下为“ vagrant”。
进入虚拟机后,键入以下命令:
sudo nano /etc/nginx/sites-enabled/your-site-name-here
然后将/public
添加到文件根附近现有根目录的末尾(开始时类似/home/vagrant/projects/your-site
并保存在Nano(ctrl + s)中,然后退出纳米(ctrl + x)。
一旦退出Nano,请使用sudo nginx -s reload
重新启动nginx。您的路由现在可以使用了!