我在Windows 8上设置一个新的本地主机时遇到了障碍。设置完成了laragon(3.0.5)并包含:
nginx的配置文件是
server {
listen 8080;
server_name new_project.dev *.new_project.dev;
root "C:/lar/laragon/www/new_project/dir1/";
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php_upstream;
#fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
charset utf-8;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
location ~ /\.ht {
deny all;
}
}
在routes / web.php中我添加了以下路由
Route::get('/foo', function () {
return 'Everything is awesome!';
});
我希望在去see this documentation.看到字符串“Everything is awesome!”时,我会从nginx获得404.
绝对不会有任何帮助。
----更新1 ----
再次在routes / web.php中有以下路由
Route::get('/', function () {
return 'You are on the home page.';
});
当我去http://new_project.dev:8080/dir1/public/foo时,我得到一个200和预期的字符串。
答案 0 :(得分:2)
你正在使用拉拉贡的力量,但你用错误的设置和错误的网址销毁了它。
您的设置必须如下:(请注意公开/ )
root "C:/lar/laragon/www/new_project/dir1/public/";
现在,你的生活更轻松 - 这个网址应该有效:
答案 1 :(得分:0)
new_project / dir1 /是root
指令的一部分,它不能处于请求状态,因为所有文件和脚本搜索都是相对于它进行的。正确的请求是http://new_project.dev:8080/public/foo
答案 2 :(得分:0)
根据您当前的配置,我认为这可以使用。我更新了try_files index.php位置
server {
listen 8080;
server_name new_project.dev *.new_project.dev;
root "C:/lar/laragon/www/new_project/dir1/";
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /public/index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php_upstream;
#fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
charset utf-8;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
location ~ /\.ht {
deny all;
}
}
虽然我不确定您的配置,但我建议您将项目根目录设置为公共文件夹,而不是必须执行/ public。然后,您将从上面离开try_files。
Laravel Homestead也是建立开发环境的绝佳选择:https://laravel.com/docs/5.4/homestead