这里写目录标题
- 为什么要建个人博客
- 香港独立云主机购买
- 价格研究
- 独立主机购买
- 1panel安装
- 图床搭建
- halo博客网站一键安装
- 优先安装mysql数据库
- 安装halo
- uuwaf南墙防火墙一键安装和配置
- 安装uuwaf
- 创建站点
- 上传SSL证书
- halo登录和配置
- halo开启MFA两步验证
- 主题
- 插件
- 完结
为什么要建个人博客
IT人士拥有一个自己的博客网站,是否有这个必要性?我来说说博客网站的好处:
- 保存自己的笔记。你可以在电脑本地用typora写markdown笔记,然后一键上传到博客网站上,免去了印象笔记、有道云笔记每年大200元的会员费。
- 个人能力的证明。把你的工作过程、技术创新分享出去,能够帮别人解决问题的同时,体现自己的技术能力。在找工作时,show一下自己的博客网站,HR大体上就知道你几斤几两了,省去了很多面试上的刁难。
- 赚一点广.告.费:网站本身是需要成本的,为了回本,很多博主会接入广.告.联盟,在网页两侧投放广.告.来赚钱。
- 自由言论。如果你使用51 blog,os china,博.客.园,C.S.D.N这些大型博客网站,每次提交博客会进行审核,博客中包含敏感词条是不过审的。在自己的博客网站你能畅所欲言,只要你的博客没有反动言论即可。
香港独立云主机购买
价格研究
博客网站需要域名,域名绑定到国内IP时,80和443端口会被屏蔽,需要向公安局进行ICP备案才能解封端口。香港及海外IP无需备案,为了兼顾网速和免备案,香港主机是最理想选择。
但是香港的带宽费用是大陆的10倍,国内的一个2核心4GB内存5Mb公网的云服务器成本是150元,在香港是450元,多出来的300元是带宽成本。所以,当你去买香港2c4G5Mb服务器时,大型云厂商(阿里、腾讯、Ucloud、七牛云等)的价格都在2000元以上,小型IDC厂商虚拟出来的独立虚拟机(不带VPC)和VPS产品,价格在500元左右。
云厂商 | 区域region | 服务器规格 | 云服务器售价 |
---|---|---|---|
阿里云 | 上海 | 云服务器2核心4GB内存5Mbps公网40GB系统盘 | 980元 |
阿里云 | 香港 | 云服务器2核心4GB内存5Mbps公网40GB系统盘 | 2200元 |
七牛云 | 杭州 | 云服务器2核心4GB内存5Mbps公网40GB系统盘 | 1100元 |
恒创科技 | 香港 | 独立主机2核心4GB内存5Mbps公网40GB系统盘 | 640元 |
衡天云 | 香港 | 独立主机2核心4GB内存5Mbps公网40GB系统盘 | 599元 |
天霆网络 | 香港 | 独立主机4核心4GB内存10Mbps公网120GB系统盘 | 299元 |
我目前使用的主机:天霆网络家的独立主机。他们家的主机便宜的离谱,我怕他们会随时跑路骗一波钱,于是对他们做了背调。
天霆网络成立超过14年,无锡的一家企业,早期就是香港的一个网络运营商,所以他们家的服务器都是用的自己的网络,带宽成本比一般的云计算公司低。很多用户因主机太便宜,于是一口气充值了10年和20年期的。为了照顾老用户,天霆直接推出了充值10年享永久主机的服务。
天霆推出永久主机的理由:
- 独立主机没有vpc内网,所以能用独立主机部署的网站一般都是小网站,用途一般是个人部署博客,或者小微企业运行企业logo网站。个人网站很少能存活超过10年的,而小微企业10年后没有做大的都倒闭了,做大的企业肯定会上云服务器集群,不会再用独立主机。能一口气买10年独立主机的用户99%都用不到10年就自己跑了。
- 天霆网络的主机成本是真的低,一般的新公司做不到他这么低的成本。而且人家确实在认真做事,坚持了十几年的老店,盈利的大头是卖宽带赚来的,独立主机这点钱权当是广告费了,给老百姓发发福利。
独立主机购买
天霆网络的独立主机购买网址:https://www.idc35.com/cloud/hktehui
系统选择:80.Debian-12.0_x64
绑定一个安全组,开放80、443、4443、9000这四个端口,4443是南墙waf防火墙的端口,9000是1panel面板的端口。
1panel安装
1panel是Fit2cloud飞致云出品的linux面板,荣获2023年gitee最具影响力开源项目冠军。这款面板完全基于docker运行。安装时会先自动安装docker和docker-compose然后启动面板容器。面板应用商店中的所有软件也都是基于容器化运行,比如mysql、php、nginx、postgresql等。
2024年6月8日,国家把docker hub官方仓库的域名给封了,国内的所有docker镜像仓库都下架了,导致大陆无法再docker pull容器了。不用担心,我们用的是香港服务器,可以拉取镜像的。香港主机可以访问google,可以拉取docker,无需备案,无需魔法,一国两制的好处体现出来了!
Debian一键安装1panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
安装过程中需要注意的点:
- 端口设置成9000
- 安全入口就是面板的网址后面添加一串自定义的字符串,防止黑客攻击
- 自定义面板的用户名和密码
[1Panel Log]: docker-compose 安装成功
设置 1Panel 端口(默认为15413):9000
[1Panel Log]: 您设置的端口为:9000
设置 1Panel 安全入口(默认为25fe91a439):asdfghjhjkl
[1Panel Log]: 您设置的面板安全入口为:asdfghjhjkl
设置 1Panel 面板用户(默认为7c15fbce4b):jack
[1Panel Log]: 您设置的面板用户为:jack
设置 1Panel 面板密码(默认为8c79c47733):
[1Panel Log]: 配置 1Panel Service
Created symlink /etc/systemd/system/multi-user.target.wants/1panel.service → /etc/systemd/system/1panel.service.
[1Panel Log]: 启动 1Panel 服务
[1Panel Log]: 1Panel 服务启动成功!
最后命令行会返回面板的登录网址
登录面板后,需要开启1panel的动态MFA验证。MFA原理是网站每30秒生成一个6位数字随机验证码,只有网站管理员扫码绑定手机后,通过查看并输入验证码才能登录网站。
苹果手机安装Google Authenticator,安卓手机安装freeOTP+
图床搭建
使用过typora写markdown时,如果你直接往文章里粘贴图片,显示的地址是相对路径。当文章上传到博客网站后,读者将看不到图片。为了解决图片显示的问题,就需要给每个图片附带一个外网访问地址,将图片的URL粘贴到markdown后,任何读者只要有外网都能看到图片。
下面总结了目前市面上3中图床搭建的方法:
- github+jsdelivr+picgo
在github上新建一个仓库用于保存图片,然后给github账号创建一个token。下载picgo软件后,将仓库地址、token、jsdelivr免费cdn网址粘贴进picgo图床客户端后,就能快速上传图片并获得图片的URL。
教学视频:
【十分钟搭建你自己的图床,手把手教你,免费,picgo, 七牛云】 https://www.bilibili.com/video/BV1fw411t7eU/?share_source=copy_web&vd_source=4cee0005e63af504f1a4e5f79e975468 - 七牛云kodo+cdn+picgo
先在七牛云上创建一个kodo仓库,权限一定要是公开,否则你的图片URL最后会有一长串乱码。如果你拥有备案后的域名,则kodo仓库选择国内,推荐使用华东-浙江,区域代码z0。如果域名没有备案,则选择海外仓库。然后为仓库绑定一个域名充当cdn。
教学视频
【如何买七牛云存储空间做图床】 https://www.bilibili.com/video/BV1W84y1P7pq/?share_source=copy_web&vd_source=4cee0005e63af504f1a4e5f79e975468 - 自建兰空lsky图床
在1panel上可以一键安装兰空图床,无需用宝塔面板进行繁琐的二进制包安装。
lsky pro使用教程
【lskypro兰空图床+picgo+typora打造舒适markdown写作环境】 https://www.bilibili.com/video/BV11F411873V/?share_source=copy_web&vd_source=4cee0005e63af504f1a4e5f79e975468
halo博客网站一键安装
教学视频:
【【1Panel功能演示视频】1. 安装部署及应用管理】 https://www.bilibili.com/video/BV1rY411z78k/?share_source=copy_web&vd_source=4cee0005e63af504f1a4e5f79e975468
优先安装mysql数据库
在1panel中,万物皆是容器,每个容器都有一个172.18.0.0/24网段的ip,而其他容器应用在安装时都要填写数据库容器的内网ip,当你更换服务器需要做网站数据迁移时,新的1panel数据库ip需要和原来的一样。halo博客、lsky图床在安装完成后均不支持数据库重新设置。
优先安装数据库,将数据库容器ip固定成172.18.0.2。
安装完成后,点击面板左侧容器,确保数据库容器ip是172.18.0.2。
安装halo
一键安装,端口默认
端口外部访问按钮,勾选上,万一防火墙崩了,还可以通过服务器公网ip+端口访问halo进行调试。
uuwaf南墙防火墙一键安装和配置
教学视频
【【1Panel功能演示视频】11. 使用1Panel安装南墙Web应用防火墙】 https://www.bilibili.com/video/BV1sm4y157aQ/?share_source=copy_web&vd_source=4cee0005e63af504f1a4e5f79e975468
安装uuwaf
安装时一定要勾选端口外部访问
创建站点
登录uuwaf,网址 https://服务器ip:4443/
初始用户名admin,初始密码wafadmin
登录后修改密码,并开启MFA动态验证,使用刚才手机安装的app扫码。
点击站点管理,添加站点
需要填写的几个重点:
域名:将你的域名A解析到你的服务器,将完整域名填写到这里
上游连接协议:HTTP
上游服务器:填写halo容器的ip,一般是172.18.0.3,可以去1panel面板获取容器ip
端口:8090,这个是halo容器的端口
权重:10
上传SSL证书
域名提供商那里先创建SSL证书,并点击下载,将证书保存到本地解压。
回到uuwaf,点击证书管理,添加证书
上传pem和key文件
halo登录和配置
登录https://域名 ,访问halo
此时halo还没有安装,目前只是启动了容器,没有配置数据库。
填写网站名、邮箱、用户、密码
halo开启MFA两步验证
手机扫码开启MFA
到此,你的手机上有三个MFA,分别是1panel的、uuwaf的、halo的。
如果哪天你的手机搞丢了导致没有MFA,如何登录?
1panel可以使用命令关闭MFA:
1pctl reset mfa
官方文档:https://1panel.cn/docs/installation/cli/
uuwaf只能通过卸载重装容器来关闭MFA,好在uuwaf配置简单。
halo通过服务器删文件关闭MFA,目前没有方法,我已登录halo论坛发布问题,期待官方回信。
主题
我喜欢Sakura樱花二次元主题。
插件
安装文件导入导出、StackEdit两个插件,否则无法编写markdown文章。
完结
平时使用typora结合图床写,然后一键上传,网站每天定时备份。
防火墙+MFA,天王老子来,都攻不下你的网站。