【发布时间】:2020-09-28 14:22:04
【问题描述】:
我已经被这个问题困扰了一段时间。我们有一个 Symfony 2.8 项目,我想将它部署到云端。我已经正确创建了 ElasticBeanstalk 环境并且它可以工作!但我仍然需要访问http://domain/app.php 才能使其正常工作。我设法从 URL 中删除了 web/更改 documentDirectory 部分,但 app.php 仍然存在。
我还尝试了以下新品牌项目: https://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/php-symfony-tutorial.html 但是当我将其更改为 public/ 时,我也需要在 URL 中使用 index.php
我修改了 NGINX 配置如下: https://community.bitnami.com/t/how-to-change-default-root/65639/9 https://symfony.com/doc/current/setup/web_server_configuration.html
这是我添加到 /etc/nginx/nginx.conf.default 的内容
location / {
try_files $uri $uri/ /app.php$is_args$args;
}
location ~ \.php$ {
try_files $uri $uri/ =404;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_index app.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
我已经重启了 nginx 服务使用
sudo service nginx restart
但它保持不变。
我也尝试将 app.php 重命名为 index.php 以防万一。但是我需要将 /index.php 添加到 URL 中。
有什么想法吗?
【问题讨论】:
-
将
index app.php;添加到任何位置之外的服务器块怎么样? -
我已经尝试过你所说的但没有工作。如何检查 NGINX 服务器是否实际上正在重新启动并应用修改?我已经尝试了很多东西,甚至没有打破它
-
我重新阅读了您的问题,为什么您将更改应用到
nginx.conf.default而不是nginx.conf?运行nginx -V,查找--conf-path=<filename>参数,就是nginx使用的配置文件。 -
在重启/重新加载 nginx 之前不要忘记运行
nginx -t来测试你的新配置是否有错误。 -
即使使用
index app.php;指令?
标签: php nginx amazon-elastic-beanstalk symfony-2.8