root@localhost:~# cat /home/docker-compose.yml
services:
caddy:
image: caddy:2-alpine
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- /home/caddy/Caddyfile:/etc/caddy/Caddyfile
- /home/caddy/data:/data
- /home/caddy/config:/config
- /home/wwwroot:/srv:ro
networks:
- wp-net
wordpress:
image: wordpress:php8.3-fpm-alpine
container_name: php
restart: unless-stopped
depends_on:
- db
volumes:
- /home/wwwroot/lotro.cc:/var/www/html
- /home/php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
networks:
- wp-net
db:
image: mysql:8.0
container_name: mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ROOT密码
MYSQL_DATABASE: 网站数据库库名
MYSQL_USER: 网站数据库用户
MYSQL_PASSWORD: 网站数据库密码
volumes:
- /home/mysql:/var/lib/mysql
networks:
- wp-net
networks:
wp-net:
driver: bridge
root@localhost:~# cat /home/caddy/Caddyfile
lotro.cc, www.lotro.cc {
# 根目录
tls admin@live.cn
root * /srv/lotro.cc
# PHP-FPM 转发 + 内置的 WordPress-friendly rewrites
php_fastcgi wordpress:9000 {
root /var/www/html
env PATH_INFO {path}
dial_timeout 5s
read_timeout 360s
write_timeout 360s
}
# 静态文件直接 serve(php_fastcgi 已经处理了大部分 rewrite)
file_server
header /wpad.dat Content-Type application/x-ns-proxy-autoconfig;
# 压缩
encode zstd gzip
# 安全响应头(推荐)
header {
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
Strict-Transport-Security "max-age=31536000;"
Referrer-Policy strict-origin-when-cross-origin
-Server
}
# 日志(调试时打开)
# log {
# output file /var/log/caddy/access.log
# }
}
root@localhost:~# cat /home/php/uploads.ini
date.timezone = Asia/Shanghai
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
disable_functions = exec,passthru,shell_exec,system,proc_open,popen
expose_php = Off
# 数据库导入
zcat wplotro-2026-09-02.sql.gz | docker exec -i mysql mysql -u root -p'你的root密码' 数据库名
# 停掉所有容器
docker compose down
# 修改目录所有者
chown -R 999:999 /home/mysql
chown -R 82:82 /home/wwwroot/lotro.cc
# 目录权限
find /home/wwwroot/lotro.cc -type d -exec chmod 750 {} \;
find /home/wwwroot/lotro.cc -type f -exec chmod 640 {} \;
# 再启动
docker compose up -d

这个能用于discuz x3.5吗?
完全可行,参考http://lotro.cc/discuz