搭建国内博客
AJohn Blog 创建之初本是打算记录所学,同时给予来者之参考借鉴,主要面向程序员学习交流,故而白嫖了很久 Github 的服务器,使用起来也是非常丝滑,从未罢工。怎奈随着时光流逝,有时分享于其他行业之友人却是稍有不便,遂将博客同时部署于 Github 服务器与国内服务器。特别感谢 YOAKE 的技术支持。
提示
本文使用 ajohn.top 二级域名演示, Github 仓库同名,网站则是部署 www.ajohn.top
,如需参考请自行更换。
1. 购买服务器
本次使用的是华为云服务器
ajohn-top
产品类型:弹性云服务器 ECS
区域:华东-上海一
自定义计算型|x1.1u.1g|1vCPUs|1GB|linux × 1
通用型SSD|20GB × 1
企业项目:default
计费模式:包年/包月 | 4个月
开始时间: 2025/02/18 16:28:14 GMT+08:00
结束时间: 2025/06/18 23:59:59 GMT+08:00
数量:1
金额(¥):218.00
公网ip
产品类型:虚拟私有云 VPC
区域:华东-上海一
动态BGP|固定带宽|2Mbps × 1
公网IP × 1
企业项目:default
计费模式:包年/包月 | 4个月
开始时间: 2025/02/18 16:28:14 GMT+08:00
结束时间: 2025/06/18 23:59:59 GMT+08:00
数量:1
金额(¥):184.00
服务器购买完成后,登入服务器,给我们自己新建一个用户
sudo useradd -m -s /bin/bash zzy
给用户初始化密码
root@ajohn-top:~# sudo passwd zzy
New password:
Retype new password:
passwd: password updated successfully
给我们管理员权限
usermod -aG sudo zzy
切换到用户
root@ajohn-top:~# su - zzy
zzy@ajohn-top:~$
2. 下载博客HTML代码
创建目录:
sudo mkdir -p /www/wwwroot
进入到目录:
cd /www/wwwroot
克隆博客网页代码
sudo git clone -b blog_pages https://github.com/zzyAJohn/ajohn.top.git
虽说已经赋予了管理员权限,但有时总会遇到奇怪的问题,如果提示没权限可以切换到 root:
sudo -i
或者用ssh密钥下载:
git clone -b blog_pages git@github.com:zzyAJohn/ajohn.top.git
提示
如果因为网络问题失败,建议收藏 GitHub 加速站 GitHub Proxy ,并使用:
sudo git clone -b blog_pages https://ghfast.top/https://github.com/zzyAJohn/ajohn.top.git
3. 安装宝塔
我的操作系统是 ubuntu ,因此使用:
sudo wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec
经过漫长的等待,安装完成后,出现:
==================================================================
Congratulations! Installed successfully!
=============注意:首次打开面板浏览器将提示不安全=================
请选择以下其中一种方式解决不安全提醒
1、下载证书,地址:https://dg2.bt.cn/ssl/baota_root.pfx,双击安装,密码【www.bt.cn】
2、点击【高级】-【继续访问】或【接受风险并继续】访问
教程:https://www.bt.cn/bbs/thread-117246-1-1.html
mac用户请下载使用此证书:https://dg2.bt.cn/ssl/mac.crt
========================面板账户登录信息==========================
【云服务器】请在安全组放行 ***** 端口
外网面板地址: **************************
内网面板地址: **************************
username: *********
password: *********
==================================================================
Time consumed: 5 Minute!
zzy@ajohn-top:~$
如果不小心丢失终端,可以使用:
sudo bt
重新调出宝塔管理面板,并输入 14
,会重新显示你的宝塔外网面板地址。
去(华为云)服务器安全组放行宝塔的端口,顺便放行 80 (http) 和 443 (https) 端口,然后打开宝塔外网面板地址。
第一次打开会提示你的连接不是专用连接,点击下面 高级
选项,点击 继续访问 (不安全)
,输入宝塔的账号和密码。
进入后点击左侧侧边栏的 网站
,选择 安装Nginx
,默认 1.24.0
极速安装即可。
安装完成后,点击 HTML项目
,点击绿色的 添加HTML项目
,在域名处填写 www.ajohn.top
,其余项目会自动填写。
提示
默认根目录是 /www/wwwroot/www.ajohn.top
,可以点击右侧小文件夹图标选择目标文件夹。
点击 确定
,即可创建成功。
4. 域名解析
前往域名商添加一条解析记录:
主机记录:www
记录类型:A
记录值:你的服务器ip
等待解析完成,在浏览器输入 www.ajohn.top
,已经可以访问了。
左上角提示不安全是因为没有安装 SSL 证书,安装证书请看第六节。
5. 备案
但过一会发现不可访问。
后面自行去服务器供应商处备案即可。
自此, ajohn.top
使用 Github 服务器, www.ajohn.top
使用华为云服务器,国际与国内用户体验大大提升。
后续:备案很人性化,一天就通过了,记得在一个月内去公安备案。
6. SSL 证书
此时网站只能通过 http 访问,想要通过 https 安全访问需要部署 SSL 证书。
打开宝塔页面,点击 网站
- HTML项目
,在SSL证书栏会显示一个黄色的 未部署
。
点击 未部署
,选择 Let's Encrypt
,此时页面上会有两个 申请证书
,选择靠下面的,
选择 DNS验证(支持通配符)
,下面四个框框全选,点击 申请证书
。
申请后,会弹出一个包含解析域名和记录值的窗口。
前往域名解析,添加两个记录,
等待解析生效,点击验证
,验证成功后,点击部署
,即可在宝塔页面将证书部署到服务器,并打开 强制HTTPS
。
此时再次打开网页,可以看到,已经是 https 开头了。
7. 自动脚本
7.1 续签证书脚本
证书的有效期是90天,为了方便我们可以使用脚本自动续签。
在宝塔面板点击左侧侧边栏的 计划任务
,
点击 添加任务
,参考图中填写。
脚本内容放在这里诸君自取。
/www/server/panel/pyenv/bin/python3 -u /www/server/panel/class/acme_v2.py --renew_v2=1
7.2 拉取仓库脚本
点击 添加任务
,参考图中填写。
脚本内容放在这里诸君自取。
#!/bin/bash
echo "正在更新ajohn.top……"
cd "/www/wwwroot/ajohn.top"
git fetch
git reset --hard origin/blog_pages
提示
请自行更换网址与分支名
8. 其它
如果删除项目时遇到:
root@ajohn-top:/www/wwwroot# sudo rm -rf ajohn.top/
rm: cannot remove 'ajohn.top/.user.ini': Operation not permitted
可以先移除文件的不可变属性,
chattr -i /www/wwwroot/ajohn.top/.user.ini
然后再删除即可。
参考资料:
- YOAKE 的脑子