Я перешел с Apache на Nginx, и теперь у меня проблемы.
http://devserver/monitor/web
где у меня есть проект Symfony, я получаю ошибку 404http://devserver
Я получаю это сообщение все время File not found.
Вот как мой /etc/nginx/conf.d/default.conf
файл выглядит так:
server {
listen 80;
server_name devserver;
location / {
root /var/www/html;
index index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
Что там не так?
Вы разместили свой root
директивы в неправильных местах.
root
следует определить в server
блок, а не в каждом location
блок. Это один из наиболее распространенные неправильные конфигурации nginx.
Чтобы решить проблему, удалите все root
директивы от каждого location
блок и поместите правильный root
директива в server
блок, не внутри location
.
Единственная причина иметь root
в location
блок - это когда вам действительно нужен другой корень документа для этого location
, например, для обслуживания сообщений об ошибках nginx по умолчанию (как вы делаете здесь).