gpt4 book ai didi

wordpress - 在 Dockerized Lemp 上部署 WordPress 时出现 502 Bad Gateway 错误?

转载 作者:行者123 更新时间:2023-12-02 00:53:40 26 4
gpt4 key购买 nike

我的项目目录上的 tree 命令输出显示以下布局。

enter image description here

其中code文件夹包含标准wordpress文件,db文件夹是将容器sql数据映射到宿主机目录。

docker-compose.yml 的内容如下所示:

mariadb:
container_name: lemp-mariadb
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=root.maria
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
volumes:
- ./db:/var/lib/mysql
phpfpm:
container_name: lemp-fpm
image: php:7-fpm
volumes:
- ./code:/code
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
links:
- mariadb
command: docker-php-ext-install mysqli
nginx:
container_name: lemp-nginx
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./code:/code
- ./site.conf:/etc/nginx/conf.d/default.conf
links:
- phpfpm
command: nginx -g 'daemon off;'

下面是显示 nginx 配置的 site.conf 文件。
server {
listen 80;
root /code;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

当我运行 docker-compose up -d 并点击 http://localhost:8080 , 它显示 502 bad gateway 错误。

enter image description here

为什么它不起作用?我希望它显示 wordpress 安装页面。
docker ps

enter image description here

好的,问题似乎出在 phpfpm 服务部分的命令步骤上。
command: docker-php-ext-install mysqli

如果我在 docker-compose 文件中注释此行并运行它,容器也会出现并连接,但我必须通过此命令在 fpm 节点上手动安装它
docker exec lem-fpm docker-php-ext-install mysqli

&
docker-compose restart

我得到了 wp-installation 页面,但这并不方便,破坏了自动化和容器化的全部目的,我希望这个过程是自动化的,所以请告诉我是否有办法让它只通过 docker-compose 工作?

最佳答案

创建一个 shell 脚本 (start.sh),将其放在 docker-compose.yml 旁边并使其可执行:

#!/bin/bash

docker-php-ext-install mysqli

php-fpm

将其映射到您的服务中并更改命令:
phpfpm:
container_name: lemp-fpm
image: php:7-fpm
volumes:
- ./code:/code
- ./start.sh:/usr/local/bin/start.sh
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
links:
- mariadb
command: /usr/local/bin/start.sh

关于wordpress - 在 Dockerized Lemp 上部署 WordPress 时出现 502 Bad Gateway 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56000062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com