最近因为发现用了快2年的VPS的盘快满了,真好有闲暇的时间就对服务器上重要的资料进行备份并重新安装了WebServer及最新的Ghost 博客Docker镜像。

前段时间使用的镜像一直有错误,发布的文章也总是断断续续的出现服务器500错误,检查下镜像服务运行的日志发现是因为使用docker-compose文件来进行多镜像安装其中安装的Mysql是5.7的Ghost这边使用的数据库操作库对mysql中 charset-utf8多字节编码支持有问题,最后也懒得花时间去折腾就将就用了,结果用了一段时间后发现使用的ghost会员订阅系统也有很多问题索性就直接关了会员注册和订阅,并将Blog重新部署了一遍。

部署过程也是比较简单的,先安装MySql的Docker镜像建议单独安装,不建议新手通过Docker Compose的方式来部署,但如果有Dockerfile的编写基础其实可以直接使用一下DockerHub的Ghost镜像中提供的列子来进行部署方便。

Ghost DockerHub 地址->

Ghost镜像运行命令:

镜像网站未提供映射Ghost配置文件到本地目录中,可以通过运行参数- v进行配置,这样方便修改其中的config.production.json配置文件中的数据,比如数据库的设置、邮件服务的设置等参数。

docker run -d --name ghost -p 3001:2368 -e url=https://feikl.com -v /root/config.production.json:/var/lib/ghost/config.production.json -v /root/ghost:/var/lib/ghost/content ghost 

运行命令后需要修改映射出来的config.production.json中的数据库配置字段,mysql的服务docker网络地址通过 ifconfig 命令查找 docker0 的IP地址来配置对应的端口和连接地址。

Caddy服务的运行

Caddy服务器的配置和启动还算是比较简单的,通过以下命令进行拉去和部署:

docker pull caddy

docker run -d -p 80:80 -p 443:443 -v /root/caddy/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy```

修改Caddyfile文件中的数据然后配置域名并设置本地端口的转发:

feikl.com, www.feikl.com {
	reverse_proxy /* <IP>:<端口>
}

想了解更多CaddyWebServer的配置信息,参见:https://feikl.com/chu-shi-caddy-webserver/

Caddy服务器都是自动通过Let's ssl进行网站https证书更新及部署,对于个人使用而言还是比较方便和快捷的😊。