从我第一次创建博客已经三年了,那是在疫情时候对一个晚上,无聊在网上乱转,偶然看见一个讲解使用阿里云创建博客的视频,跟着就创建了我的第一个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
找到域名注册页面
输入你想注册的域名,xxxx.com,域名就是别人访问你的地址。
.com这个域名有购买按钮就代表别人没有注册过,你可以使用,点击购买就好啦。(可能需要先绑定Palpal,国内银行卡即可)
服务器
CloudCone的服务器很便宜,而且续费和你第一次购买时的价格是一样的,很爽。活动地址
如果活动过期了也不要紧,他们家活动基本全年有,在网上另找活动页面即可。
看一下要购买的服务器价格,先不要点购买(要先注册账号充钱)。选择右面这个2C1G配置,左面的太小了不够Wordpress运行。
首先注册一个CloudCone账号【https://app.cloudcone.com/user/】
找到Add Funds
如果你有PayPal(推荐注册一个,因为后面如果使用对象存储还要用上,国内银行卡就可以,需要实名,如果支付失败就用支付宝,好像这里需要双币信用卡),直接用Paypal付款16.80。如果你没有,下面还有一个支付宝渠道,但在这里你要付款18.80(因为有可能要再多花2美元让客服给你换一个中国能访问的IP,不一定每个人都遇到IP被禁了,但如果你不能访问的话就只能花这两美元。因为支付宝这个渠道最低支付5美元,在这里你如果没有直接多冲进去2美元,就只能多花5美元了,PayPal则没有这个限制)。
现在你可以回到之前的页面购买服务器了,这里的HostName可以填server.xxx.com,操作系统debian和ubuntu你随意,我喜欢debian。Centos就不要选了,要停止维护了。
登录服务器
购买成功后会收到一封邮件,上面会告诉你登录密码
选择一个终端使用ssh,我在mac上使用的是iTerm2
ssh root@your-server-ip
第一次登录要使用密码,服务器的ip可以在这里看到,替换your-server-ip
, 我的就是:ssh [email protected]
无法登录
如果你在ssh后一直没有看到任何输出,那很大概率你的ip国内无法访问。这里登录成功的请直接跳到:使用密钥登录
部分
输入你的server-ip:22
,如果全是绿的代表中国可以访问。
如果下面中国这几条是红的,代表这个服务器中国不能访问,需要花2美元让客服换中国能访问的IP:
更换IP
创建一个Ticket
选择你的服务器IP,然后输入下面的内容,要求扣除2美元更换一个中国能访问的IP,这里如果你的账户是Paypal付款的,需要再充入2美元。
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控制台添加你的公钥。
禁用密码登录
给的密码强度太低了,很容易被爆破,这里需要禁止密码登录。
首先更新apt,执行
apt update
然后安装Vim编辑器
apt install vim
如何使用Vim见:Linux vi/vim,看懂怎么编辑文件,保存退出就好。
- 使用以下命令编辑 SSH 服务器的配置文件: sudo vim /etc/ssh/sshd_config
- 在配置文件中找到以下行: #PasswordAuthentication yes将其更改为:PasswordAuthentication no删除该行前的
#
号以取消注释,并将其值更改为no
,表示禁用密码认证。 - 保存更改并关闭文本编辑器。
- 为了让配置生效,重启 SSH 服务。在终端中输入以下命令: sudo systemctl restart ssh
完成这些操作后,密码登录将被禁用。
配置DNS记录
去CloudFlare,添加一个指向你服务器的A记录,这样别人输入域名就可以访问你的博客。
安装 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_PASSWORD
和WORDPRESS_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后表示启动成功
安装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
配置信息填写完成后,进入到仪表盘
插件
选择安装插件
这里我把我安装的插件推荐出来,这些我亲测十分好用:
因为我实际的服务器是4c4g,所以还安装了redis作为缓存,如果大家没有redis,可以不用安装Redis Object Cache。
使用CloudFlare CDN的同学记得在WP Fastest Cache里开启支持。
推荐大家必须要安装的插件
- WPvivid插件,这个插件可以备份博客,并让你迁移博客的时候十分丝滑,一键完成(其实用docker不是为了方便迁移,是为了大家安装….),推荐设置自动备份,使用Google Dirve
- WordFence 可以免费使用的防火墙软件,必须安装此插件防止爆破密码和XSS注入、SQL注入等攻击
- JetPack,你可以使用这个插件监控自己的博客,配置订阅系统
- Elementor 强大的页面编辑器,我博客的页面都是使用这个插件,可以实现很多特殊效果。你还可以订阅它的会员,在淘宝购买一年只需要20多。
主题
主题决定了你的博客是什么样的风格,和安装插件一样,主题同样可以选择
我使用的是Sydney,十分美观大方,当然大家也可以到市场里找到自己喜欢的主题
最后
剩余的配置就靠大家自己玩啦,看看有哪些选项可以让博客更好看,速度更快。
记住博客最重要的是文章,有了自己的博客后一定要多多更新哦(不要学我)
欢迎互换友链:https://www.cztcode.com
2 thoughts on “自建博客简明教程”
很棒的教程
这是个良心教程啊,总体价格要便宜些