Fluxheim/문서/WordPress

WordPress

일반 WordPress front controller를 위한 실용적인 PHP-FPM recipe입니다.

WordPress vhost

[[vhosts]]
name = "wordpress"
hosts = ["blog.example.com"]

[vhosts.web]
root = "/srv/wordpress"
index_files = ["index.php", "index.html"]
deny_dotfiles = true

[vhosts.php]
enabled = true
root = "/srv/wordpress"
index = "index.php"
preset = "wordpress"
try_files = "wordpress"
deny_path_prefixes = ["/wp-content/uploads/"]

[vhosts.php.fpm]
mode = "external"
socket = "/run/php-fpm/wordpress.sock"

WordPress cache route

[[vhosts.routes]]
name = "wp-assets"
path_prefix = "/wp-content/"
action = "proxy"

[vhosts.routes.proxy]
upstreams = ["127.0.0.1:9000"]

[vhosts.routes.cache]
enabled = true
preset = "wordpress"
status_ttls = { "200" = 3600, "404" = 60 }
extensions = ["css", "js", "png", "jpg", "webp", "svg"]
bypass_cookie_name_prefixes = ["wordpress_logged_in_", "wordpress_sec_"]

일반 확인

  • PHP-FPM user가 WordPress 파일을 읽을 수 있는지 확인하세요.
  • upload는 WordPress가 write를 필요로 하는 위치에서만 writable로 유지하세요.
  • Put cache in front of public assets, not wp-admin.
  • Keep login, preview, cron, XML-RPC, and admin paths out of shared cache.
  • WordPress preset을 baseline으로 사용한 뒤 site-specific bypass를 추가하세요.

적합한 경우

이 setup은 Fluxheim이 safe static file을 제공하고 upload path의 PHP를 차단하며 dynamic request를 PHP-FPM으로 forward하는 일반 WordPress front controller용입니다.

한국어