Not sure why I still can’t get Wordpress FPM to work.
Temporary URL
EXPIRED
Basing my Caddyfile on:
And Matt’s Wiki - Example: WordPress:
Current Caddyfile:
{
debug
}
{$FORUM_TEST_1}, {$FORUM_TEST_2}, {$FORUM_TEST_3} {
reverse_proxy unix//sock/nginx.http.sock
tls {
dns cloudflare {$CLOUDFLARE_API_TOKEN}
}
}
{$SITE_1} {
root * /var/www/{$WP_1}/
# php_fastcgi unix//run/php/php7.4-fpm.sock
php_fastcgi {$DOCKER_HOST_1}:9000
file_server
# reverse_proxy {$DOCKER_HOST_1}:{$WP_PORT}
tls {
dns cloudflare {$CLOUDFLARE_API_TOKEN}
}
}
{$SITE_2} {
reverse_proxy {$DOCKER_HOST_2}:{$WP_PORT}
tls {
dns cloudflare {$CLOUDFLARE_API_TOKEN}
}
}
The 3 Discourse forum tests at the top work. Site 2 works (Wordpress Apache). But Site 1 is a blank page.
Unlike the others, Site 1 doesn’t show anything in the terminal when I try to load the page. It’s running according to Docker:
wp1 | [24-Jul-2020 06:01:35] NOTICE: fpm is running, pid 1
wp1 | [24-Jul-2020 06:01:35] NOTICE: ready to handle connections
And it’s showing up with port 9000 after docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
da3b802c1ed8 wordpress:5.4.2-php7.4-fpm-alpine "docker-entrypoint.s…" About a minute ago Up About a minute 9000/tcp
docker-compose.yml
version: '3.3'
services:
caddy:
env_file:
- .env
container_name: caddy
build: ./caddy
ports:
- "80:80"
- "443:443"
- "80:80/udp"
- "443:443/udp"
volumes:
- ${DISCOURSE_PATH}/shared/web-only:/sock
- ${FARM_PATH}/caddy/Caddyfile:/etc/caddy/Caddyfile
- ${FARM_PATH}/var/caddy:/root/.caddy
- ${FARM_PATH}/caddy/data:/data
- ${FARM_PATH}/caddy/config:/config
restart: always
wp1:
image: $WP_ALPINE
# build:
# context: .
# dockerfile: Dockerfile-alternate
container_name: ${WP_1}-wp
# networks:
# - $DEFAULT_NETWORK
# ports:
# - "9000:9000"
hostname: $SITE_1
depends_on:
- db1
restart: always
environment:
WORDPRESS_DB_HOST: ${WP_1}-db
WORDPRESS_DB_USER: $DB_USER
WORDPRESS_DB_PASSWORD: $DB_PASSWORD
WORDPRESS_DB_NAME: $DB_NAME
volumes:
- ${WWW_PATH}/${WP_1}:/var/www/html
db1:
image: $DB_IMAGE
container_name: ${WP_1}-db
# networks:
# - $DEFAULT_NETWORK
restart: always
environment:
MYSQL_DATABASE: $DB_NAME
MYSQL_USER: $DB_USER
MYSQL_PASSWORD: $DB_PASSWORD
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- ${FARM_PATH}/mysql/${WP_1}:/var/lib/mysql
wp2:
image: $WP_PHP
# build:
# context: .
# dockerfile: Dockerfile-alternate
container_name: ${WP_2}-wp
# networks:
# - $DEFAULT_NETWORK
# ports:
# - "9000:9000"
hostname: $SITE_2
depends_on:
- db1
restart: always
environment:
WORDPRESS_DB_HOST: ${WP_2}-db
WORDPRESS_DB_USER: $DB_USER
WORDPRESS_DB_PASSWORD: $DB_PASSWORD
WORDPRESS_DB_NAME: $DB_NAME
volumes:
- ${WWW_PATH}/${WP_2}:/var/www/html
db2:
image: $DB_IMAGE
container_name: ${WP_2}-db
# networks:
# - $DEFAULT_NETWORK
restart: always
environment:
MYSQL_DATABASE: $DB_NAME
MYSQL_USER: $DB_USER
MYSQL_PASSWORD: $DB_PASSWORD
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- ${FARM_PATH}/mysql/${WP_2}:/var/lib/mysql
If I change the standard Wordpress image in docker-compose.yml
and set it to reverse-proxy, Site 1 works again.