我买云服务器啦
最近尝试了各种笔记软件,最终决定了使用国内刚诞生不到一年的思源笔记,它有一个功能就是可以用 Docker 伺服,也就是在服务器下载思源的 docker,运行后就可以通过公网 IP 访问自己的笔记了。由于我需要多端使用,而它目前还不支持 IOS 和 iPad,所以我就萌生了买一个云服务器的想法。
一开始我是希望服务器高昂的价格能让我冷静一些,可是后来发现... 阿里云一台 2 核 2G、60G 云盘、5M 带宽 1000G 月流量的服务器竟然一年才 99!!!而且还可以以这个价格续费三次!!!说实话,我是有点懵的,在我印象里服务器一般都是很贵很贵的。我又看了腾讯云,1 核 2G5M 带宽 60GSSD 的服务器 108,也没贵多少。经过十秒钟的深思熟虑(不是),我直接下单一台 Ubuntu 20.04!网址:开发者成长计划 (aliyun.com)!
买好之后,我进行了下面一系列满足自己折腾欲望的操作...
远程连接
不到一分钟就给我分配好了,emmmm 好快呀这阿里!那接下来该干些什么呢?对了,我得先连接上!我想起来之前上操作系统课时,用过 VS Code 连接远程服务器,所以一开始就打算用这个的。后来又看到 finalshell,觉得能实时看到服务器性能好酷呀,所以就在三秒钟深思熟虑后直接点击下载!
阿里云提供了三种方式连接:浏览器连接,远程客户端使用密钥连接,远程客户端使用账号密码连接。第一种首先 PASS 掉,不要问我为什么,问就是不够帅(才不是我不知道怎么快速拖拽文件上去呢!)因为我第一眼看没看见还能使用密钥连接,所以就先设置了 root 密码然后使用账号密码连接。这个具体就不说了,打开 finalshell 后找一些能点击的地方,总会找到怎么连接的。后来看到密钥连接,立刻更改设置,下载了密钥(这个密钥只能下载一次,要好好保存噢~),导入 finalshell,于是就不必每次连接都输入密码啦,十分方便快捷呢! 但是不久,我发现了一个问题:finalshell 总是有一定的延迟。具体体现在键入的时候,按下一个键后总是会有肉眼可见的延迟,给人一种很不流畅的感觉。于是 finalshell,对不起了,PASS!
打开我心爱的 VS Code,安装 Remote SSH
这个插件,然后根据提示成功使用账号密码连接,接下来为了方便,也要设置为使用密钥连接。查找资料后,找到了解决方法:修改
C:/Users/UserName/.ssh/config
文件。
Host 自定义连接名称 |
注意密钥文件一定要放在.ssh 文件夹下,不然可能无法连接。
美化终端(zsh+oh-my-zsh)
俗话说, 工欲善其事,必先利其器 ,首先就是要有一个好看的终端!之前使用 Arch 时,一直用的 zsh,这次也不例外。整个过程如下:
apt install zsh curl git |
zsh 的主题可以在这里查看。
安装思源笔记 docker
首先需要配置一下 docker 环境,这个参考官方文档就可以啦,讲得十分详细。咳咳,小醋简单总结一下,就是下面几条命令(注意,我的是 Debian!其他平台还是去看文档吧):
sudo apt-get install ca-certificates curl gnupg lsb-release |
由于是在阿里云的服务器,所以就没有必要折腾换源什么的啦,实测很快的!
docker 安装好之后,就可以拉去思源笔记的镜像啦:
docker pull b3log/siyuan# 下面是我自定义的启动参数,具体可以参考思源的帮助文档,按需修改 |
启动完成后,就可以通过浏览器访问啦!
部署博客
本来想尝试一下 wordpress 的,但是深思熟虑一晚上(这是真的!)后,觉得没必要,还要重新学习相关知识,太花费时间,整云服务器已经足够了。所以就还是用了 Hexo,不过主题从原来的 matery 换成了 butterfly。因为 matery 有一个问题,就是当你的每篇博客摘要长度不同时,博客卡片就无法对齐,看着特别乱。具体配置过程就不在介绍啦,看 butterfly 的官方文档就可以啦。
我本来是打算直接将整个博客迁移过去,在服务器
hexo s
,但我看网上其他人都没有这样做,还是使用了 git
的方式,在本地写博客、配置,然后 git
到服务器上面去。这样有一个好处就是,你在本地怎么折腾都没事,云端该运行还是运行,所以我就决定也随大流啦。
我采用了 Nginx 的方式,首先使用 apt 安装,然后新建一个 git 用户...
adduser git |
接下来要配置一下 ssh key,和 github 上配置 ssh 差不多,也可以直接用你上传到 github 上的 key。
su git |
然后,创建两个文件夹,一个是 /var/repo
,用来存放 git
仓库;一个是 /var/www/hexo
,用来存放博客源文件。之后创建
git 仓库,并写一个 post-update
文件,这样当我们 push
后,就可以自动把部署目录更新到博客的最新状态。
sudo mkdir /var/repo |
然后分配一下权限:
cd blog.git/hooks/ |
接下来配置 nginx。
sudo vim /etc/nginx/sites-available/default |
本机通过公网 IP 访问服务器,出现 403 表示以上步骤没有问题,404
则是没有成功。修改本机 hexo 根目录下的 _config.yml
文件:
deploy: |
执行 hexo cl && hexo g -d
,和正常推送 github
一样,完成后再次访问自己的公网 IP,大功告成欧耶!
搭建 MySQL 服务器
为了方便,我使用了 docker,没多少步骤:
docker pull mysql:5.7.35 |
上面的启动参数可以根据自己的需要修改,最好是设置目录映射,不然因为某些缘故主动或被动删除了该容器,数据就会都丢失掉。
需要在命令行中使用 mysql
时可以进入容器:docker exec -it mysql /bin/bash
,然后输入
mysql -uroot -pYouPASSWORD
即可。同时也可以配置远程访问,我用的
Navicat15,新建连接 ->MySQL… 过程也十分简单。
-
2022-03-30
Waline 是基于 Valine 的一个前后端分离的评论系统,后端可以部署在 Leancloud、Vercel 或者自己服务器的数据库上,前端也可以很方便的利用 Hexo 插件来完成配置。本次的后端:Ubuntu 20 服务器,docker 环境。