我正在努力在服务器上设置/部署我的生产环境。我的前端映像是使用Dockerfile.static构建的
FROM nginx:1.17-alpine
LABEL maintainer="xxx"
COPY app/dist /usr/share/nginx/html
COPY ./conf.d/default.conf /etc/nginx/conf.d/default.conf
CMD ["nginx", "-g", "daemon off;"]
我的 nginx 配置文件
server {
listen 80;
server_name www.xxx.org;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
proxy_pass http://backend:9000/;
}
}
字体服务是通过我的撰写文件中的此代码片段设置的
frontend:
image: gitlab-registry.cern.ch/xxx/xxx/static:latest
ports:
- 80:80
networks:
- frontend
- backend
当我在浏览器中输入域时,会提供静态文件。但我无法让我的后端连接继续。只收到 404。
这是我的 php API 的 Dockerfile:
FROM bitnami/php-fpm:latest
LABEL maintainer="xxx"
COPY . /var/www/html
WORKDIR /var/www/html/public
Api 类包含所有端点,并最终处理所有查询并从数据库获取数据。
问题 1) 从我的前端容器中获取的正确 URL 是什么?据我了解,容器是通过 docker 网络后端连接的。所以我尝试了http://backend:9000/ + uri_path ...
问题2)如何设置后端容器?因为我感觉自己好像失去了一些东西。需要提供 index.php 文件...我是否需要另一个 nginx 容器来将我的 php API 集成到该容器中?
问题 3)我的 nginx 配置正确还是我也缺少某些东西?
慕的地8271018