简体   繁体   English

如何让nginx显示错误日志?

[英]How to let nginx show the error log?

As I am developing my project using docker, with an image that has nginx installed, if any error happens, I will only see this: 当我使用docker开发我的项目时,如果安装了nginx的图像,如果发生任何错误,我只会看到:

502 Bad Gateway

nginx/1.4.6 (Ubuntu)

Currently, the only way to see what's going on is checking storage/logs which is fine, but shouldn't the log error get viewed in the browser too instead of just seeing 502 Bad Gateway ? 目前,查看正在发生的事情的唯一方法是检查storage/logs ,这很好,但是不应该在浏览器中查看日志错误,而不是仅仅看到502 Bad Gateway

in my .env: 在我的.env中:

APP_ENV=local
APP_DEBUG=true

Any idea? 任何的想法?

EDIT 编辑

If there is no error in my app, I would see it normally in the browser, I just see the 502 Bad Gateway error when I have an error in Laravel app 如果我的应用程序中没有错误,我会在浏览器中看到它,我只是在Laravel应用程序中出现错误时看到502 Bad Gateway错误

Error would be: 错误是:

[2016-02-24 11:59:38] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'App\Http\Controllers\Redirect' not found' in /share/app/Http/Controllers/NodesController.php:68
Stack trace:
#0 /share/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(133): Symfony\Component\Debug\Exception\FatalErrorException->__construct('', '', '', '', '', '', '', '')
#1 /share/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(118): Illuminate\Foundation\Bootstrap\HandleExceptions->fatalExceptionFromError('', '')
#2 /share/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(0): Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#3 /share/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(76): App\Http\Controllers\NodesController->store('')
#4 /share/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(76): call_user_func_array('', '')
#5 /share/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(146): Illuminate\Routing\Controller->callAction('', '')
#6 /share/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(94): Illuminate\Routing\ControllerDispatcher->call('', '', '')
#7 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): Illuminate\Routing\ControllerDispatcher->Illuminate\Routing\{closure}('')
#8 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func('', '')
#9 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#10 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func('', '')
#11 /share/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(96): Illuminate\Pipeline\Pipeline->then('')
#12 /share/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(54): Illuminate\Routing\ControllerDispatcher->callWithinStack('', '', '', '')
#13 /share/vendor/laravel/framework/src/Illuminate/Routing/Route.php(174): Illuminate\Routing\ControllerDispatcher->dispatch('', '', '', '')
#14 /share/vendor/laravel/framework/src/Illuminate/Routing/Route.php(140): Illuminate\Routing\Route->runController('')
#15 /share/vendor/laravel/framework/src/Illuminate/Routing/Router.php(724): Illuminate\Routing\Route->run('')
#16 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): Illuminate\Routing\Router->Illuminate\Routing\{closure}('')
#17 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func('', '')
#18 /share/app/Http/Middleware/LocaleMiddleware.php(48): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#19 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): App\Http\Middleware\LocaleMiddleware->handle('', '')
#20 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#21 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#22 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#23 /share/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#24 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle('', '')
#25 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#26 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#27 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#28 /share/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#29 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\View\Middleware\ShareErrorsFromSession->handle('', '')
#30 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#31 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#32 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#33 /share/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#34 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\Session\Middleware\StartSession->handle('', '')
#35 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#36 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#37 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#38 /share/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#39 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle('', '')
#40 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#41 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#42 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#43 /share/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#44 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\Cookie\Middleware\EncryptCookies->handle('', '')
#45 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#46 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#47 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#48 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#49 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func('', '')
#50 /share/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then('')
#51 /share/vendor/laravel/framework/src/Illuminate/Routing/Router.php(699): Illuminate\Routing\Router->runRouteWithinStack('', '')
#52 /share/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\Routing\Router->dispatchToRoute('')
#53 /share/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(246): Illuminate\Routing\Router->dispatch('')
#54 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}('')
#55 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func('', '')
#56 /share/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#57 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Barryvdh\Debugbar\Middleware\Debugbar->handle('', '')
#58 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#59 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#60 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#61 /share/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#62 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle('', '')
#63 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array('', '')
#64 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}('')
#65 /share/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func('', '')
#66 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}('')
#67 /share/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func('', '')
#68 /share/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(132): Illuminate\Pipeline\Pipeline->then('')
#69 /share/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter('')
#70 /share/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle('')
#71 /share/public/index.php(0): {main}()
#72 {main}  

EDIT2 EDIT2

nginx configuration: nginx配置:

server {
        client_max_body_size 500M;
        listen   80 default_server;

        root /share/public/;
        index index.php index.html index.htm;

        location / {
             try_files $uri $uri/ /index.php$is_args$args;
        }

        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                add_header Cache-Control no-cache;
        }
}

The 502 Bad Gateway is a result of an incorrect webserver configuration. 502 Bad Gateway是Web服务器配置不正确的结果。 Your request is handled by Nginx and it cannot redirect it to PHP nor Laravel. 您的请求由Nginx处理,无法将其重定向到PHP或Laravel。

The reason for this error is most probable a missing or an incorrect proxy forward to PHP in your Nginx configuration. 出现此错误的原因很可能是您的Nginx配置中缺少或错误的代理转发到PHP。

These errors are only logged in the Nginx error log ( /var/log/nginx/error.log ) and not in the Laravel log because your app and php are not handling the request. 这些错误仅记录在Nginx错误日志( /var/log/nginx/error.log )中,而不记录在Laravel日志中,因为您的应用程序和php未处理该请求。

The error is happening in nginx not in PHP which is why you don't see them in the browser. 错误发生在nginx而不是PHP中,这就是为什么你在浏览器中看不到它们。

You can check the nginx logs in /var/log/nginx/ folder for errors and empty out the storage/logs folder just to be sure there are no new errors in there. 您可以检查/var/log/nginx/文件夹中的nginx日志以查找错误并清空storage/logs文件夹,以确保其中没有新错误。

Once you fix nginx error you can configure PHP to show all errors to the browser as per https://stackoverflow.com/a/5438125/50475 修复nginx错误后,您可以配置PHP以根据https://stackoverflow.com/a/5438125/50475向浏览器显示所有错误

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM