删除所有现成的备份 执行mysqldump导出数据库命令 打包html scp传输两个文件到远程备份服务器的目录,同时使用工具sshpass 传递密码给scp命令,省事。 全部使用bash脚本,crontab -e 添加每12小时运行一次。 * 12 * * * /docker2/wp/2web/back.sh 搞定。
Read More今天升级插件发现,发现docker wp 无法创建文件夹,尝试几个办法都不行: 往docker-compose 添加privileged: true 没有效果 往docker-compose 添加user: “33:33” 也就是代表www-data:www-data也不行。。 最后发现 wp的项目文件夹是-v 映射到容器内的,给wp-content 增加权限可以解决,但是不知道安不安全,暂时先这样吧: chmod -R 777 wp-content 感觉还是不安全,改回来。。 chmod -R 755 wp-content 办法改为,进入wordpress 的container, 执行chown -R www-data:www-data /var/www/html 同时 wp-config 增加了一句:define(‘FS_METHOD’, ‘direct’);
Read More从frantech买了storage, 价格大概是256GB 15 USD,挂载在VPS上面的。开始转移我的KOD到新的VPS上面,同时尝试用docker化运行。 思路是: 用docker 文件生成customize 的 image,其中有 两个主要的 php7.1,php需要安装扩展插件,通过RUN命令搞定 wyveo/nginx-php-fpm:php71 ,包括写好nginx conf配置的nginx,基本只要打开填入域名就可以了。后期可以考虑只用nginx 标准官方的。 第一次运行后,docker container cp 命令从镜像拷贝整个/etc/nginx出来,并配置default.conf 中的域名即可。 生产运行: -v 镜像kod 目录, -v 镜像我的block storage 目录/mnt/files 到nginx html里面 -v log -v nginx 配置文件进去 -p 80:80端口, -d daemon, -t name, 最后填上定制的image 名称 最后我的dockerfile: 5. 生产运行的 docker run 命令
Read MoreHTTPS的端口是443, HTTP的端口是80,可以通过命令 netstat -tnl查看 SSL用最基本的certbot就可以了,免费万岁,多捐赠 SSL防止的就是很常见的中间人攻击,知乎用户举例,你出去旅游给亲人寄一个明星片,结果亲人收到,变成斯诺登的求助/威胁信,我在哪哪哪,我有危险,快打钱救我!被插广告也是类似原理。 SSL证书保存在网站目录: – /web/ssl:/etc/letsencrypt 不需要备份,迁移之后直接renewal就行了 平时需要renewal, 主要通过两个命令, 都做成bash script就好了。 docker-compose run certbot renew 和 docker-compose run kill -s SIGHUP webserver 其中: kill -s SIGHUP 会reload 配置 crontab -e 加入这个 bash script 每12小时运行一次。 主要过程: 修改docker-compose.yml的配置,增加端口, 数据卷,certbot服务。 其中:certbot的数据卷镜像用于nginx和cerbot共享,要不要挂载出来,问题都不大。所以用卷,不用目录。 其中:增加映射端口 443 第一次测试: 第一次获取证书运行命令用–staging, 之后用–force-renewal 第一次测试:docker-compose up -d 之后,需要检查 certbot的logs 是否成功获得了SSL证书: 方式一就是 docker-compose ps […]
Read More整体的思路: 备份文件过来 放到web 然后wget 就好 备份文件放在新主机 /bk 目录下, 其中.sql 需要镜像进去并且导入到wordpress,这个通过共享路径操作。wp文件解压作为目录直接镜像进去也可以了。 git clone 下来配置文件 直接docker-compose up -d 运行启动。 以下的配置文件都可以git保存下来,同时又敏感信息,一定要私有化仓储。 我用的docker-compose.yml 文件: 其中volumes: /web/import:/test 用于从cp文件夹复制备份的.sql到镜像,并且导入数据库, 导入到默认的wordpress数据库 /web/sql:/var/lib/mysql 为数据库共享数据卷 /web/wp:/var/www/html 为迁移的文件的目录 额外还有一个nginx.conf 位于./nginx-conf, 这个配置文件还没有配置域名的。。 最后作为测试机,修改单独的域名,我这里直接用IP地址了。。 define(‘WP_HOME’, ‘http://107.172.157.152/’); define(‘WP_SITEURL’, ‘http://107.172.157.152/’); 添加到wp-config.php 即可
Read More1. 首先创建mysql 的 container,通过命令行: docker run –name wp-mysql -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 -v /root/docker-wp/web3:/test mysql:5.7 其中 -v: 挂载主机目录 /root/docker-wp/web3 到 镜像中的/test 然后通过命令mysql 导入数据库 2. 创建wordpress 的container: docker run -d –name wp –link wp-mysql:mysql -p 80:80 -v /root/docker-wp/web3/wp/wp:/var/www/html wordpress 名称–name wp;–link 链接wp-mysql; -p端口80;-v 挂载主文件目录 /root/docker-wp/web3/wp/wp 到镜像目录 /var/www/html 现在可以启动了,但是wp用的是新的数据库名 wordpress, 修改wp-config.php其中的db name 改成刚才导入的,我的是blogdb 3. 基本可以运行了,下一步是nginx了
Read More