自建博客简明教程

从我第一次创建博客已经三年了,那是在疫情时候对一个晚上,无聊在网上乱转,偶然看见一个讲解使用阿里云创建博客的视频,跟着就创建了我的第一个Wordpress博客。

总的说来博客就是折腾,你要折腾域名,CDN,对象存储,对于Wordpress来说你还要去尝试各种插件,优化加载速度,SEO排名。但没有比拥有自己博客更棒的事情了,在上面你可以任意创作,向别人展示你的发现。我创建这个博客的时候还和几个同学一起更新文章(很可惜在迁移用户的时候没有把大家都迁移过来,因为似乎没有人在更新了,我就把这个博客变成个人博客了)

成本

名称 型号 价格 供应商
域名 .com 9.15美元/年 CloudFlare
对象存储 10g以内 免费 CloudFlare
CDN 免费 CloudFlare
服务器 2c1g vps 16.80美元/年 CloudCone

所以创建一个WordPress博客每年的维护成本在25.95美元(约184元人民币),除此之外你还可以用自己的服务器部署其他小玩具。当然相比于Github Pages 这样完全免费的静态博客,多花的服务器成本还是贵了,但你多了折腾的机会不是嘛,况且每个程序员应该都有自己的服务器吧。

购买域名和服务器

不要选国内的服务提供商

备案

腾讯云阿里云我都用过,但你如果在国内注册域名、购买服务器,肯定是需要备案的。我不是说备案不好,只是麻烦,你要等1个多星期才能访问自己的域名。博客还要合规,比如不能提供注册功能,博客名字必须和备案名字相同等等奇葩规定。

所以干脆直接去国外域名提供商购买,服务器也放在国外,这样直接没有备案的烦恼。

成本

从成本上考虑,CloudFlare的.com域名相比于国内是更便宜的,因为cloudflare的续费价格应该是全球最低的,Cloudflare承诺只会向收取向互联网名称与数宇地址分配机构ICANN支付的批发价 (Wholesalefee)。意思是除了必要的费用(包括域名的价格、ICANN费用),没有加价,也没有额外费用。

CloudFlare的CDN也不要钱啊,相比于国内1GB流量几毛钱,完全不用考虑这个问题。而且你用CloudFlare也不用担心博客被人刷流量,开森。

绑定银行卡后CloudFlare的S2(对象存储),10GB存储免费,做图床完全够了。

补一个,证书也不需要你管续费,CloudFlare可以提供免费证书并自动帮你续费。

国内的服务器注册时各种优惠活动,续费时价格贵上天,这也是为啥我把服务器迁移到国外了。

购买

域名

在这里注册CloudFlare账号:https://dash.cloudflare.com/sign-up

找到域名注册页面

image-20230604171849940

输入你想注册的域名,xxxx.com,域名就是别人访问你的地址。

image-20230604172020310

.com这个域名有购买按钮就代表别人没有注册过,你可以使用,点击购买就好啦。(可能需要先绑定Palpal,国内银行卡即可)

服务器

CloudCone的服务器很便宜,而且续费和你第一次购买时的价格是一样的,很爽。活动地址

如果活动过期了也不要紧,他们家活动基本全年有,在网上另找活动页面即可。

看一下要购买的服务器价格,先不要点购买(要先注册账号充钱)。选择右面这个2C1G配置,左面的太小了不够Wordpress运行。

image-20230604173812754

首先注册一个CloudCone账号【https://app.cloudcone.com/user/

找到Add Funds

image-20230604174504596

如果你有PayPal(推荐注册一个,因为后面如果使用对象存储还要用上,国内银行卡就可以,需要实名,如果支付失败就用支付宝,好像这里需要双币信用卡),直接用Paypal付款16.80。如果你没有,下面还有一个支付宝渠道,但在这里你要付款18.80(因为有可能要再多花2美元让客服给你换一个中国能访问的IP,不一定每个人都遇到IP被禁了,但如果你不能访问的话就只能花这两美元。因为支付宝这个渠道最低支付5美元,在这里你如果没有直接多冲进去2美元,就只能多花5美元了,PayPal则没有这个限制)。

image-20230604174951340

现在你可以回到之前的页面购买服务器了,这里的HostName可以填server.xxx.com,操作系统debian和ubuntu你随意,我喜欢debian。Centos就不要选了,要停止维护了。

image-20230604175152199

登录服务器

购买成功后会收到一封邮件,上面会告诉你登录密码

image-20230604190541296

选择一个终端使用ssh,我在mac上使用的是iTerm2

 ssh  root@your-server-ip

第一次登录要使用密码,服务器的ip可以在这里看到,替换your-server-ip, 我的就是:ssh [email protected]

image-20230604191228342

无法登录

如果你在ssh后一直没有看到任何输出,那很大概率你的ip国内无法访问。这里登录成功的请直接跳到:使用密钥登录部分

使用这个网站检查国内是否可以访问

输入你的server-ip:22,如果全是绿的代表中国可以访问。

image-20230604192913990

如果下面中国这几条是红的,代表这个服务器中国不能访问,需要花2美元让客服换中国能访问的IP:

image-20230604193006744

更换IP

创建一个Ticket

image-20230604193415150

选择你的服务器IP,然后输入下面的内容,要求扣除2美元更换一个中国能访问的IP,这里如果你的账户是Paypal付款的,需要再充入2美元。

image-20230604193629090

Subject:Change IP Request

Description::Please deduct my $2 balance to help me replace an IP address that I can use in China. Thank you

之后等待客服回复,然后拿着你的新IP登录。

使用密钥登录

因为密码登录十分不安全,第一件事就是替换成密钥登录,然后禁用密码登录。

首先生成密钥:

生成公钥指令(mac)

 ssh-keygen -t rsa -b 4096

按照提示生成后,密钥默认存储位置在$HOME/.ssh 目录下,id_rsa.pub内容就是公钥,但是这里我们不需要管位置在哪,只需要通过指令告诉服务器记住公钥。

 ssh-copy-id root@your-server-ip

看到下面的提示就成功了!以后登录就不需要输入密码了。

如果你想要添加多台电脑,可以多次操作,也可以把你这台电脑的密钥复制到新电脑上,或者使用cloudcone控制台添加你的公钥。

image-20230604192021675

禁用密码登录

给的密码强度太低了,很容易被爆破,这里需要禁止密码登录。

首先更新apt,执行

  apt update

然后安装Vim编辑器

 apt install vim

如何使用Vim见:Linux vi/vim,看懂怎么编辑文件,保存退出就好。

  1. 使用以下命令编辑 SSH 服务器的配置文件: sudo vim /etc/ssh/sshd_config
  2. 在配置文件中找到以下行: #PasswordAuthentication yes将其更改为:PasswordAuthentication no删除该行前的 # 号以取消注释,并将其值更改为 no,表示禁用密码认证。
  3. 保存更改并关闭文本编辑器。
  4. 为了让配置生效,重启 SSH 服务。在终端中输入以下命令: sudo systemctl restart ssh

完成这些操作后,密码登录将被禁用。

配置DNS记录

去CloudFlare,添加一个指向你服务器的A记录,这样别人输入域名就可以访问你的博客。

image-20230604195036941

安装 wordpress

首先创建一个目录

 mkdir /home/wordpress

这里我们使用docker-compose安装,首先安装docker-compose

 apt install docker-compose

创建一个docker-compose.yaml文件

 cd /home/wordpress
 vim docker-compose.yaml

复制进去我的配置,安装wordpress和mysql

注意,你要自己更改MYSQL_ROOT_PASSWORD MYSQL_PASSWORDWORDPRESS_DB_PASSWORD的值,要求15位以上,大小写特殊字符混合输入,避免被破解。其中MYSQL_PASSWORD和WORDPRESS_DB_PASSWORD是相同的。

 version: '3'

 services:
   db:
     image: mysql:latest
     user: root
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: A
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: B

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     user: root
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: B
       WORDPRESS_DB_NAME: wordpress
     volumes:
       - wp_data:/var/www/html

 volumes:
   db_data:
   wp_data:

保存后在docker-compose.yaml所在文件夹下执行(注意所有docker-compose指令必须在docker-compose.yaml文件夹下。

  docker-compose up -d

这个启动命令仅仅执行一次,以后如果想要开启或者关闭容器,请执行:

docker-compose start 运行容器
docker-compose stop 关闭容器
docker-compose restart 重启容器

看到Done后表示启动成功

image-20230604200633235

安装Nginx

我们要使用Nginx做反向代理。

 apt install nginx
 vim /etc/nginx/conf.d/wordpress.conf
 server {
     listen 80;
     server_name www.your-domain.com;
     client_max_body_size 1024m;

     location / {
         proxy_pass http://localhost:8000;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }

     error_log /var/log/nginx/error.log;
     access_log /var/log/nginx/access.log;
 }

保存后,刷新配置文件

 nginx -s reload

设置wordpress

在浏览器中访问你的域名www.xxxx.com

image-20230604201713950

配置信息填写完成后,进入到仪表盘

image-20230604201909314

插件

选择安装插件

image-20230604201944119

这里我把我安装的插件推荐出来,这些我亲测十分好用:

image-20230604202030670

image-20230604202042891

因为我实际的服务器是4c4g,所以还安装了redis作为缓存,如果大家没有redis,可以不用安装Redis Object Cache

使用CloudFlare CDN的同学记得在WP Fastest Cache里开启支持。

推荐大家必须要安装的插件

  1. WPvivid插件,这个插件可以备份博客,并让你迁移博客的时候十分丝滑,一键完成(其实用docker不是为了方便迁移,是为了大家安装….),推荐设置自动备份,使用Google Dirveimage-20230604202409448
  2. WordFence 可以免费使用的防火墙软件,必须安装此插件防止爆破密码和XSS注入、SQL注入等攻击

image-20230604202540760

  1. JetPack,你可以使用这个插件监控自己的博客,配置订阅系统

image-20230604202441532

  1. Elementor 强大的页面编辑器,我博客的页面都是使用这个插件,可以实现很多特殊效果。你还可以订阅它的会员,在淘宝购买一年只需要20多。

image-20230604202806454

主题

主题决定了你的博客是什么样的风格,和安装插件一样,主题同样可以选择

我使用的是Sydney,十分美观大方,当然大家也可以到市场里找到自己喜欢的主题

image-20230604202941244

最后

剩余的配置就靠大家自己玩啦,看看有哪些选项可以让博客更好看,速度更快。

记住博客最重要的是文章,有了自己的博客后一定要多多更新哦(不要学我)

欢迎互换友链:https://www.cztcode.com

2 thoughts on “自建博客简明教程

发表评论