记意外重新部署Typecho

前言

在使用lamp脚本部署discuz失败后以至于apache无法启动。原因未知。

然后决定删除机器,重新部署。不慎将博客所搭建的那台删除了。我当时内心#%#¥#。

对,就是你现在访问的这个博客。

几分钟后,我决定重建。幸好数据库有备份。应该还有救。

准备

部署lnmp环境

这里推荐使用 https://lnmp.org/install.html

(可以先进入screen再进行如下操作)

wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp

建议使用前先将云主机性能拉到最高,否则时间需求过高。

这里我选用高版本php导致安装失败两次,心塞。

终于失败两次后胜利部署。

建立虚拟主机

小插曲

在连接mysql时,出现了错误,如下。

日志如下:

原因是缓冲区过大,内存不足所导致。

方法一: 增加swap

方法二: 减少缓冲区大小

nano /etc/my.cnf 找到innodb_buffer_pool_size 调整合适的大小。

建立虚拟主机使用 lnmp vhost add

cd /home/wwwroot/innei.ml

然后clone typecho到这里

git clone https://github.com/typecho/typecho.git .

设置好域名后,进入你的网站 比如(https://innei.ml

然后按照步骤安装。

备份恢复

进入phpmyadmin修改user表。允许用户远程登录

插曲

打开了gcp的防火墙。却没想到系统的防火墙这么猛。

使用 iptables -L -n --line-numbers标号

使用iptables -D INPUT 6删除

使用iptables -A INPUT -p tcp --dport 3306 -j ACCEPT添加允许。

image-20190216170450486

胜利还原。

签发证书启用https

拿到cf的api,export两条记录

下载acem.sh

curl  https://get.acme.sh | sh
.acme.sh/acme.sh --issue --dns dns_cf -d innei.ml -d *.innei.ml

然后使用lnmp ssl add添加证书

image-20190216171917322

后记

再经历2次安装lnmp失败。

一次DB缓冲区溢出。

iptables防火墙DROP

一次删库。

虽然我花了一个下午时间来还原,遇到了不少麻烦,还有很多热心的网友,我学习到了很多。再次感谢你们!

教训:数据无价,谨慎操作