Docker 真是个让人开心的东西,它把所有变化的配置文件和日志集中在一起,使得迁移、升级等管理变得简单多了,让我们 solo 一族省下大把时间撸啊撸。
WP 最早是跑在 apache 下的,一直用 apache,后来 docker 的时候让我的小 flask 程序试着在 nginx 上走,发现容器和 http 管理分开是个很先进的理念。当时还不知道怎么用 nginx 托管 php,所以还是用的 php-apache 镜像,我的天,大家都知道云服务器默认安装 LAMP+wp 后都是龟速,特别是小网站如果有一段静默期后再来的那个肯定就倒霉了,要等好久,好的用 php-apache 后不仅仅慢,连好多功能都莫名其妙的出问题,最严重的是更改了固定连接的生成方式后就无法工作,我去。因为刚用 docker 和 nginx 只好妥协先搁置了。当然 docker 作为容器肯定是会比原生的慢在理论上,但是我宁可牺牲这部分性能也好省下我自己的时间去享受生活。
两天前实在忍无可忍,因为网站的监控总是会提醒我站点访问不了或者特别慢,实在不能无视短信和邮件提醒了,下决心好好研究。
庆幸的是我的 gg 反代工作比较稳定,wp 给出了很详细的配置,nginx 配置顺利搞定,php 镜像这次我选的是 php:5.6-fpm,fpm 是和 nginx 配合最多的 php 容器。
研究和学习很花时间但是做起来就快了,这里有一个小问题,docker 包裹后页面文件的位置和实际位置是不一致的,最大的后果就是无法使用自动更新,懒人是不允许这种事情发生的。解决办法也很简单,就是容器里映射时把位置做成一样的就好了比如: /opt/wp:/opt/wp 即可。