将你的博客部署到雨云
雨云,发大水了

近况

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

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

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

每日一滚

1
sudo pacman -Syu

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

Nginx

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

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

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

跟之前一样,在服务器/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
1
sudo apt install snapd
  1. 安装cerbot snap包
1
sudo snap install --classic certbot
  1. 准备 Certbot 命令
1
sudo ln -s /snap 
  1. 获取证书,这里选择手动配置
1
sudo certbot certonly --nginx
  1. 测试下自动续费
1
sudo certbot renew --dry-run

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

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

配置

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

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

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

重定向

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

就像这样

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

主页

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

修改自饭饭’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新建配置文件

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

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

CDN

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

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

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

题外话

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

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

参考


Last modified on 2023-11-17