【发布时间】:2017-05-12 03:30:53
【问题描述】:
我正在尝试配置 nginx 并在其中进行以下配置:
/etc/nginx/sites-enabled/默认
server {
server_name firstproj.dev www.firstproj.dev;
root /var/www/firstProj/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
其中 app.php 和 app_dev.php 都是 symfony 创建的 /var/www/firstProj/web/ 文件夹中的文件,无需进一步修改。
firstProj 是我目前正在从事的一个 symfony 项目,我在这里无法理解的是:
-
为什么当我访问 www.firstproj.dev 时我得到了
哎呀!发生错误服务器返回“500 内部服务器错误”。
为什么当我访问 www.firstproj.dev/app_dev.php 时一切正常,我也可以访问我的路线(例如:www.firstproj.dev/app_dev.php/homepage 工作得非常好并返回预期来自我的控制器中的操作的响应)
为什么当我访问 www.firstproj.dev/app.php 时出现 404 错误。
我希望它与没有 app_dev.php 的 www.firstproj.dev/homepage 一起工作,但我无法让它以这种方式工作。 此外,如果我访问
我明白了:
欢迎使用 nginx!
如果看到这个页面,说明nginx web服务器安装成功 和工作。需要进一步配置。
有关在线文档和支持,请参阅 nginx.org。 nginx.com 上提供商业支持。
感谢您使用 nginx。
如果这是一个相当愚蠢的问题,我深表歉意,但就服务器配置而言,我是初学者。
谢谢!
【问题讨论】:
-
在 etc/hosts 中添加 firstproj.dev 和 www.firstproj.dev 了吗?
-
是的!它们都在 /etc/hosts 文件中