在racknerd服务上搭WordPress博客和cloudflare隐藏ip操作记录

前面SSH的坑踩完了,现在开始正式部署。我准备搭个博客和网盘,记录下整个过程。2020年左右在eu.org网站注册过免费的域名:sdnas.cn.eu.org


启动Docker容器

先确保在正确的目录,然后把所有服务启动起来。

进入目录:

cd /opt/docker_apps

启动容器:

docker compose up -d

这一步会下载WordPress、数据库等镜像,第一次运行可能要几分钟。我这边1核1G的配置,下载了大概5分钟。

检查状态:

docker compose ps

如果所有容器的状态都显示Up,就说明启动成功了。我第一次运行的时候,MySQL容器一直重启,后来发现是内存不够,关掉了一些不必要的进程才正常。


配置Cloudflare域名解析

买VPS就是为了用自己的域名,不想直接暴露IP地址。Cloudflare提供免费的CDN和SSL证书,顺便还能隐藏真实IP。

登录Cloudflare后台,选择你的域名。

添加DNS记录:

我用的域名是sdnas.cn.eu.org,添加了两条A记录:

TypeNameContentProxy Status说明
Ablog你的服务器IP开启(橙色云朵)博客访问地址
Apan你的服务器IP开启(橙色云朵)网盘访问地址
Image

橙色云朵就是Cloudflare的CDN代理,开启后别人看不到你的真实IP。

设置SSL模式:

这一步很重要,不设置的话WordPress会无限重定向打不开。

点击左侧菜单的SSL/TLS,把加密模式改成Full或者Full (Strict)。

千万别选Flexible,我第一次就是选错了,WordPress死活打不开,折腾了半天才发现是这个问题。


配置Nginx Proxy Manager

NPM是一个可视化的反向代理管理工具,可以给网站自动申请SSL证书。

访问管理后台:

打开浏览器输入http://你的IP:81

默认账号密码:

登录后第一件事就是改密码,在右上角账户设置里改。

给WordPress配置域名:

点击Hosts -> Proxy Hosts -> Add Proxy Host

在Details这一栏填:

  • Domain Names:   ai.sdnas.cn.eu.org
  • Scheme: http
  • Forward Hostname/IP: wordpress(填容器名,不要填IP)
  • Forward Port: 80
  • 勾选Block Common Exploits

在SSL这一栏:

  • SSL Certificate: 选Request a new SSL Certificate
  • 勾选Force SSL和HTTP/2 Support
  • Email: 填你的邮箱
  • 勾选I Agree to the Let's Encrypt Terms of Service

点击Save。

证书申请大概需要10-30秒,成功后会显示绿色的勾。这时候就可以用https://blog.sdnas.cn.eu.org访问博客了。

我第一次申请的时候失败了,检查发现是Cloudflare的DNS解析还没生效。等了5分钟再试就成功了。


WordPress主题和插件推荐

现在WordPress能访问了,但是默认主题很丑,需要换个简洁的主题。

主题选择:

如果你想要类似ahhhhfs那种极简风格,推荐用argon
。

安装方法:

  1. 进入WordPress后台(https://blog.sdnas.cn.eu.org/wp-admin)
  2. 点击外观 -> 主题 -> 添加新主题
  3. 我是从github下载后上传到WordPress后台安装的

这个主题免费版就够用,而且特别轻量,1G内存的服务器跑起来没压力。

必装插件:

在插件菜单里搜索安装Redis Object Cache。

安装后点击启用,然后在设置里点击Enable Object Cache。

这个插件配合Docker里的Redis容器,能大幅提升网站速度。我启用后,页面加载时间从2秒降到了0.5秒。


设置自动备份

服务器随时可能出问题,定期备份是必须的。

编辑定时任务:

在终端输入:

crontab -e

如果是第一次用,会让你选择编辑器,选1(nano)就行。

添加备份任务:

在文件最下面加一行:

0 3 * * * /bin/bash /opt/docker_apps/backup_script.sh

这行命令的意思是:每天凌晨3点自动运行备份脚本。

保存方法:

  1. 按Ctrl+O保存
  2. 按Enter确认
  3. 按Ctrl+X退出

备份文件会保存在/root/backups目录,每天一个压缩包。

验证备份是否生效:

等第二天早上,进入备份目录看看:

ls -lh /root/backups

如果看到昨天的日期命名的压缩包,就说明自动备份成功了。

我一开始设置的时候,第二天发现没有备份文件。检查后发现是脚本路径写错了,改成绝对路径/opt/docker_apps/backup_script.sh才正常。


几个注意事项

1. 内存不够用怎么办

1核1G的配置跑WordPress+MySQL+Redis,内存会比较紧张。

可以创建swap交换空间:

fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

创建1G的swap后,服务器就不会因为内存不足而卡死了。

2. WordPress更新后打不开

有时候WordPress自动更新后会出问题,这时候进入Docker容器重启一下:

docker restart wordpress

3. 备份文件占空间

备份文件会越积越多,建议每月清理一次旧的备份:

cd /root/backups
# 保留最近30天的备份
find . -name "*.tar.gz" -mtime +30 -delete

总结

现在整个环境搭好了:

  • WordPress博客能正常访问
  • Cloudflare提供了CDN和SSL
  • NPM管理反向代理
  • 每天自动备份

从买VPS到搭好环境,前后花了两天时间。中间踩了很多坑,SSH连不上、WordPress打不开、证书申请失败,都一个个解决了。

写这篇记录主要是给自己做个备份,以后重装系统可以照着来。如果你也在折腾VPS,希望能帮到你。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇