croyoux's blog

将你的博客部署到雨云

近况

期中考刚考完,我也难得有时间静下心来写博客,虽然文笔不太好就是了

这个星期,广州跳过了秋天,直接来到了冬天,也可以说广州根本就没有春天和秋天

看了archlinux 简明指南的教程,在虚拟机试了一次后为我的物理机安装上了Arch,不得不说,aur是真的好使,很多包都能在上面找到

每日一滚

1sudo pacman -Syu

最近半价买了一个月雨云的云服务器,学了下Nginx,把我的博客迁移到了上面

Nginx

原本想再水一篇,但想着也没什么好写的,就合并在一起

在你喜欢的目录创建用于存放博客的文件夹,将博客仓库git下来

1server {
2    listen 80;
3    server_name test.inuya.ltd;
4    root /home/blog;
5    location / {
6    }
7}

跟之前一样,在服务器/etc/nginx/conf.d目录下创建test.inuya.ltd.conf配置文件,写入以上内容,这里我用二级域名test.inuya.ltd演示

在域名提供商添加A类型解析,填入你的IP,使用http://test.inuya.ltd即可访问博客

https

配置完,会有一个问题,就是无法通过https访问,现在很多博客的友联已经不再添加没有https的博客了

ssl证书

阿里云现有免费的一年ssl证书可以申请

阿里云证书现只有三个月有效期,遂更换cerbot自动续费

  1. 在你的debian或基于debian的发行版上安装snap
1sudo apt install snapd
  1. 安装cerbot snap包
1sudo snap install --classic certbot
  1. 准备 Certbot 命令
1sudo ln -s /snap 
  1. 获取证书,这里选择手动配置
1sudo certbot certonly --nginx
  1. 测试下自动续费
1sudo certbot renew --dry-run

证书应位于/etc/letsencrypt/live在Nginx中填入即可

其他发行版也可参考certbot instructions,选择对应的发行版即可

配置

在原本的test.inuya.ltd.conf的配置中添加以下内容

 1server {
 2    listen 443 ssl;
 3    #配置HTTPS监听端口443。
 4    server_name test.inuya.ltd; #将test.inuya.ltd换成证书绑定的域名
 5    root html;
 6    index index.html index.htm;
 7    ssl_certificate cert/test.inuya.ltd.pem;  #将test.inuya.ltd.pem换成自己的证书
 8    ssl_certificate_key cert/test.inuya.ltd.key; #将test.inuya.ltd换成自己的证书密钥
 9    ssl_session_timeout 5m;
10    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
11    #表示使用的加密套件的类型。
12    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
13    ssl_prefer_server_ciphers on;
14    location / {
15        root /home/blog;  #站点目录。
16        index index.html index.htm;
17    }
18}

使用systemctl restart nginx重启Nginx,尝试带https访问网址

重定向

如果想让所有的http访问都301重定向到https,可以在80端口的配置中添加一句return 301 https://$server_name$request_uri;

就像这样

1server {
2    listen 80;
3    server_name test.inuya.ltd;
4    return 301 https://$server_name$request_uri;
5    root /home/blog;
6    location / {
7    }
8}

主页

域名只解析博客太浪费了,于是搭建了我的主页

修改自饭饭’s Homepage 2.0

主页: https://inuya.ltd

Twikoo评论

都有服务器了,还用什么valine,早就听闻twikoo配置方便,今天一用,相见恨晚

我是用的是docker部署,docker run时加上--restart=always设置自启

部署完后访问http://<ip>:8080,返回值如下

1"Twikoo 云函数运行正常,请参考 https://twikoo.js.org/frontend.html 完成前端的配置"

Nginx反向代理

因该是这么叫吧

部署到服务器后,发现评论系统被拦截了,因为博客是https,但评论只有http,所以被拦截

到域名服务商新建一条A记录解析,填入你的IP

/etc/nginx/conf.d新建配置文件

 1server {
 2    listen 80;
 3    server_name twikoo.inuya.ltd; # 设置的域名
 4    return 301 https://$server_name$request_uri; # 重定向至HTTPS
 5    location / {
 6    }
 7}
 8 
 9server {
10    listen 443 ssl;
11    server_name twikoo.inuya.ltd;
12    ssl_certificate cert/twikoo.inuya.ltd.pem;  # 配置证书
13    ssl_certificate_key cert/twikoo.inuya.ltd.key;
14    ssl_session_timeout 5m;
15    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
16    # 表示使用的加密套件的类型。
17    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 表示使用的TLS协议的类型。
18    ssl_prefer_server_ciphers on;
19    location / {
20        proxy_pass  http://localhost:8080; # 反向代理至8080端口
21    }
22}

systemctl restart nginx重启Nginx,尝试使用域名访问

CDN

最近博客莫名延迟变高,甚至到了无法访问的地步,于是想着给博客套个CDN加速一下;正好雨云有免费的CDN可用

在雨云创建一个新的CDN,如购买了雨云的产品(云服务器/虚拟主机)可以免费使用。

创建完后复制生成的网址到域名注册商添加CNAME,这里为了方便直接使用*.inuya.ltd泛解析

题外话

博客第一次有人主动申请友链,还是蛮激动的

如果有急事可以用inuya@foxmail.com联系我,因为是腾讯的邮箱所以可以微信提醒,回复的比较及时

参考

Tags: