网站迁移记录
由于之前技术力过于低下, 导致之前网站很多地方设置冲突且难以修复, 并且博客加载速度堪忧. 因此干脆直接服务器重装, 然后进行网站迁移. 为了方便日后查询, 记录一下迁移过程.
系统和环境配置
之前的LAMP环境我用的是宝塔一键配置的, 但是宝塔面板这个东西用久了在我的破烂机器上总是容易有一些奇怪的问题. 因此这次重装我就直接 放弃了宝塔面板, 自己手动安装.
系统选用的是Ubuntu 18.04.1 LTS, 问就是够用就行(话说真的会有人在服务器上装Arch吗).
网站服务这边我直接放弃了PHP和MYSQL, 第一是没有数据库和动态页面的硬需求, 第二是自己对这两个都不熟悉, 因此只装个Nginx提供网页服务.
SSL及域名配置
域名和Nginx配置
这次直接放弃对站点作CDN, 只在图片服务上用了CDN(image.yqwu.site).
目前使用了四个域名:
yqwu.site, 主站点, 用于挂一些时效性比较久/需要直接写html来实现一些特殊功能的(事实上没有).image.yqwu.site, 图床, 由七牛云提供服务.git.yqwu.site, 个人的Git仓库, 基于gogs.blog.yqwu.site, 博客站点, 实际上只是映射到了yqwu.site下的blog目录中.
记录一下blog.yqwu.site的Nginx配置:
# /etc/nginx/sites-available/blog.conf
server {
listen 443 ssl;
server_name blog.yqwu.site;
root /var/www/html/blog;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
以及git.yqwu.site的端口转发:
# /etc/nginx/sites-available/git.conf
server {
listen 443 ssl;
server_name git.yqwu.site;
location / {
proxy_pass https://yqwu.site:3000;
}
}
gogs不需要什么额外的配置, 只需要正确的指定证书文件就可以了.
SSL证书
同时, 对于SSL这个上次最重要的问题, 这次我是用certbot申请的let’s encrypt 的证书, 吸取上次的经验, 这次申请一个主域名yqwu.site和一个泛域名*.yqwu.site的证书. 唯一的缺点就是certbot不支持泛域名的自动 续签. 不过泛域名的优点远大于每三个月自己手动续签一次的麻烦了.
谈一下为什么这次要申请泛域名. 一个就是方便管理, 避免后面再需要使用其他子域名的时候申请新的证书. 另外就是国内的几个CDN厂商 (点名七牛云,百度和阿里)都不支持
Let's encrypt的证书(不是不支持加密, 是不支持转发来实习自动续签). 因此自动续签总是出问题. 所以不如直接用泛域名.
网页编辑与发布
网页创作和生成
这次没用啥博客框架了(我总是弄的加载很慢), 直接Markdown编写加Pandoc转成HTML, 配个CSS和KaTeX, 基本的功能 是没啥问题, 还蛮方便(hexo的Markdown规范太严格了, 很多用法都不支持).
然后手撸了一个根据Blog文件夹下的Markdown文件生成博客主页的脚本, 用起来还行(虽然啥功能也没有, 但能插二刺螈图就够了).
编辑与发布
直接用sshfs把服务器目录挂载下来, 然后编辑和生成都在本地做就好了, 省的之前用hexo的时候本地生成了还要SCP传上去(不过也是因为我这个 脚本没啥大的文件IO, hexo那种复杂的框架在sshfs上跑估计不太行).
版本管理
Git, 脚本和源文件都放在一个仓库里. 设置忽略所有生成的html文件就行了.
Something Else
- 这次给网站加了个License(虽然感觉没啥用):CC-SA.
- 暂时是不准备给这个简陋的博客”系统”加什么功能了, 反正能用就行, 可以美其名曰加载快速.