Docker 与 Docker-compose 网络连接

在配置 WordPress, MySQL, Nginx 的过程中,如果其并不在同一个 docker-compose 下进行配置,那么他们之间是无法直接沟通的,此时需要手动构建 docker 网络来连接 docker 和 docker-compose。

对于直接使用 docker 运行的 container,使用

docker network connect <network_name> <container_name>

来进行连接,同时修改 docker-compose.yml 文件进行外部 network 声明:

networks:
  <network_name>:
    external: true

此时就可以直接使用 container_name 来进行访问。

Nginx Proxy Manager

Nginx Proxy Manager(NPM) 是一个易用的具有网页端 UI 的 Nginx app,通常部署在 81 端口,可以被应用于反向代理配置、重定向配置、SSL 证书快速申请等操作。相比于 Nginx,其操作更加便捷,开箱即用。再手动配置完成 docker 和 docker-compose 的网络之后,可以在 NPM 中使用 container_name 和 WordPress 默认的 80 端口进行反向代理配置。注意在 wp-config.php 中更改 URL 为 https 安全连接。

重启主机后 WordPress 显示数据库损坏

如果在 WordPress 正常运行的情况下重启主机出现此错误,有可能是因为 WordPress 和 MySQL 的启动顺序不对。在 MySQL 启动并且正常运行后,可以重启 WordPress 服务强制重新连接到数据库,可以解决该问题。

更改 URL 后媒体文件的重命名

在 URL 发生变更之后,媒体文件的引用并不会自动更改,为了批量替换这些引用,可以使用 Better Search Replace 插件来对数据库中的所有 URL 字段进行更新,能够快速解决媒体文件的引用问题。

解除 WordPress 上传文件大小为 2M 的限制

在进入 WordPress 根目录后,编辑隐藏文件 vim .htaccess 添加以下内容

php_value upload_max_filesize 300M
php_value post_max_size 300M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300

保存后即可生效。