西区代码小仓库 - blog
type: channel
link: https://www.lisper517.top/tag/blog/
items: 树莓派搭建个人博客

树莓派搭建个人博客
type: item
date: 2022-02-11T14:16:00+00:00
description: 步骤/目录： 1.静态博客 （1）windows机器安装hexo （2）树莓派安装nginx并在局域网访问 （3）修改frpc.ini并开放端口、公网访问 （4）写作并发布博文 （5）使用https协议与ssl证书 2.可评论的博客 （1）安装typecho依赖项并配置 （2）安装typecho （3）https设置 3.其他 （1）md生成摘要 （2）typecho添加备案号 （3）调整允许上传的附件大小本文首发于个人博客https://lisper517.top/index.php/archives/13/，转载请注明出处。本文的目的是搭建能从外网访问的个人博客。本文实验日期为2022年2月11日。使用的是树莓派4B（内存8G版），系统为Pi OS 32位桌面版（2022年1月28日更新，镜像名 2022-01-28-raspios-bullseye-armhf.img ）。frps运行在阿里云服务器（系统镜像Ubuntu 20.04）。1.静态博客由于树莓派性能较弱、不太适合部署hexo（当然也可以这样干），所以选择在windows机器上写作，生成静态网页后上传到树莓派用于访问。（1）windows机器安装hexo到nodejs官网下载安装node.js，注意不要额外安装其他工具，其中有新版python等，容易搞乱环境。然后在cmd中输入以下命令安装hexo：npm install -g hexo-cli（2）树莓派安装nginx并在局域网访问树莓派安装nginx：apt install nginx设置自开启并检查一下服务开启情况：systemctl enable nginx systemctl status nginxnginx已成功开启，状态为active。接下来打开80端口（若如后文一样使用了frp则这里也可以不打开，不过笔者需要从局域网访问，这里就打开了）：ufw allow 80 #没有装ufw的用其他工具打开访问默认界面：win10机器与树莓派连接到同一wifi下，win10机器在浏览器输入 树莓派本地ip 或 树莓派本地ip:80 即可看到nginx默认页面：#默认页面内容 Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.该页面文件在树莓派的/var/www/html下，名为index.nginx-debian.html。之后自己生成的静态页面也放在该文件夹下（不同的设备可能不一样，如果是刚装上的nginx，这个文件夹在/etc/nginx/sites-available/default中查看，root后）。（3）修改frpc.ini并开放端口、公网访问在树莓派上开启frpc、在云服务器上开启frps参考 树莓派+云服务器，gogs+frp搭建私有git 。其他教程中教的比较复杂，这里用最简单的方法设置frp。另外，以下操作前最好买一个域名（记得及时在工信部和公安局网站备案）。在树莓派的frpc.ini中添加服务：[pi4B-blog-http-1] type = tcp local_ip = localhost local_port = 80 remote_port = 80本例中的云服务器80端口并没有使用，所以可以直接用于frp穿透。之后检查一下端口，云服务器的80端口需要开放。记得云服务器的端口在防火墙中添加规则，不要直接运行ufw allow。另外，禁用树莓派的80端口只会使得局域网访问不可用，frp穿透还是在的（frp使得树莓派以为从公网访问80端口就是在本地访问80端口）。最后验证一下：浏览器访问买的域名（该域名已经绑定到服务器ip。没买域名就直接访问 服务器ip ），出现nginx默认页面即可。（4）写作并发布博文这里介绍一下hexo初次使用的步骤。在win10机器上打开命令行，进行如下操作：d: #进入D盘。想放在其他盘也可以 mkdir myblog #放博客的文件夹 cd myblog hexo init #开始搭建。可能会提示vulnerabilities，不用管。该命令只需要运行这一次 hexo new 标题 #新建一篇博文。所有博文都在myblog\source\_posts中 hexo s #…