在symfony2的nginx中创build一个块

server { listen 80; server_name myapp.local root /home/jack/Documents/projects/php/myapp/web; location / { #try_files $uri $uri/ /app_dev.php?$query_string; #try_files $uri /app_dev.php$is_args$args; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app_dev.php/$1 last; } location ~ ^/(app|app_dev|config)\.php(/|$) { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } access_log /var/log/nginx/myapp-access.log; error_log /var/log/nginx/myapp-error.log; } 

我一直在努力使这项工作,但我不能,当我去myapp.localNo input file specified. 。 在日志中我有:

 [error] 6867#0: *1 FastCGI sent in stderr: "Unable to open primary script: /usr/share/nginx/html/app.php (No such file or directory)" while reading response header from upstream, client: 127.0.0.1, server: myapp.local, request: "GET /app.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "myapp.local" 

UPDATE

它看起来像试图访问/usr/share/nginx/html/app.php ,为什么在世界上是这样做的? nginx -v : 1.4.6

信不信由你,经过4个小时的调试,我意识到这些都是关于server_name声明之后可怜的分号。 多可惜!