Nginx

Symfony 項目 Nginx

  • March 17, 2016

大家好,

我正在嘗試託管我的 symfony 項目,但我從 nginx 收到 500 錯誤。錯誤日誌不顯示任何內容。然而訪問日誌確實顯示了一些東西:

46.243.152.13 - - [17/Mar/2016:14:05:45 +0100] "GET / HTTP/1.1" 500 507 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"

當我看到 http 請求完成時,我得到了 500 507。

我已經仔細檢查了文件夾的權限,現在它們是正確的。

我需要如何繼續?

這是我來自 nginx 的主機文件:

upstream php5-fpm {
   server unix:/var/run/php5-fpm.sock; #for PHP-FPM running on UNIX socket
}

server {
   listen 80;
   server_name dev.domain.nl;
   return 301 https://$host$request_uri;
}

server {
#  listen *:80;

 listen 443 ssl;
 server_name dev.domain.nl;
 ssl_certificate path/to/fullchain;
 ssl_certificate_key path/to/key;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
 server_tokens off;
 root /var/www/dev.domain.nl/html/web;

 client_max_body_size 250m;
 access_log /var/log/dev.domain.nl/dev_access.log;
 error_log  /var/log/dev.domain.nl/dev_error.log;

 rewrite ^/app\.php/?(.*)$ /$1 permanent;

 location / {
   index app.php;
   try_files $uri @rewriteapp;
 }

 location @rewriteapp {
   rewrite ^(.*)$ /app.php/$1 last;
 }

 location ~ ^/(app|app_dev)\.php(/|$) {
   fastcgi_pass   php5-fpm;
   fastcgi_split_path_info ^(.+\.php)(/.*)$;
   include fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param HTTPS on;
 }
}

請幫幫我!

哇,我真傻。。失敗的不是 nginx。Nginx 顯示了需要查看的實際頁面。當控制器中沒有返回值時,這是我的 Symphony 應用程序顯示錯誤。

它沒有被記錄在我的日誌文件中的原因是它是一個 symfony 錯誤。哦,我的多麼愚蠢。

那將是一個重寫循環:

rewrite ^/app\.php/?(.*)$ /$1 permanent;
rewrite ^(.*)$ /app.php/$1 last;

我不知道為什麼您的錯誤日誌不適合您。這是您應該在其中看到的那種錯誤(但帶有您的主機詳細資訊而不是我的):

2016/03/17 14:05:03 [error] 75745#0: *23741 rewrite or internal redirection cycle while redirect to named location "@rewrite", client: 10.6.1.0, server: , request: "GET / HTTP/1.1", host: "10.3.0.3:8080"

引用自:https://serverfault.com/questions/764366