Symfony 项目 Nginx

Symfony 项目 Nginx

大家好,

我正在尝试托管我的 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;
  }
}

请帮帮我!

答案1

哇,我真是太蠢了……不是 Nginx 出了问题。Nginx 显示了需要查看的实际页面。是我的 Symphony 应用程序在控制器中没有返回值时显示错误。

它之所以没有记录在我的日志文件中是因为这是一个 symfony 错误。哦,我的天,真是太蠢了。

答案2

那将会是一个重写循环:

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"

相关内容