我已经设置了我的项目,以将此包用于 Laravel 应用程序上的 Kubernetes/Helm: https://github.com/richdynamix/arc
当我跑步时
docker-compose up
我得到了我一直在研究的真实项目,但是当我使用此命令在 tools/helm-chart 文件夹中安装 Helm 时:
helm install .
我得到的是默认的 laravel 启动页面,而不是我一直在处理的真正项目。
我已采取的步骤:
- 使用 docker-compose up 进行测试
使用以下方式推送到私有 docker repo
docker push 我的用户名/reponame:latest
在 tools/helm-chart/values.yaml 设置 helm chart 详细信息和 docker user/pass
跑步
helm 安装。
访问已部署的网站以查看其是否正常运行。
我已经在 Google Cloud 和本地进行了测试。结果相同。
您知道这里可能存在什么问题吗?
答案1
这一问题并不特定于helm install
。
问题在于nginx在 Laravel 应用程序的前端运行,弄得一团糟。因此,如果你要将server.php
项目更改为,比如说,运行index.html
而不是index.php
require_once __DIR__.'/public/index.html';
并运行本地服务器
sukhoversha@master:~/suh$ php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
这将起作用,因为流量直接到达server.php。
但是,当你使用(即使没有 helm)运行项目时docker-compose up
,所有流量都会首先转到 nginx,其中包含nginx.conf
以下行:
include /etc/nginx/sites-enabled/*;
如果你检查该位置,你会发现这个配置:default-20-rewriteapp.conf
location @rewriteapp {
rewrite ^(.*)$ /index.php/$1 last;
}
因此,为了修复,您可以编辑索引.php 或编辑nginx 配置
希望这会有所帮助。