如何在树莓派上搭建一个可以外网访问的博客

LOVELETTERD·2023-04-03 23:27·252 次阅读

如何在树莓派上搭建一个可以外网访问的博客

前言

前段时间为了学习k8s集群搞了三台树莓派作为服务器,现在空闲了出来。因为它的功耗比较低,所以想着来弄一个web服务器搭一个博客服务。这里有一个需要解决的问题就是我家宽带没有公网地址,所以只能选择内网穿透。我这里选择花生壳,一个月有1G的免费流量。

我的腾讯云服务器还有2年多到期,到时候续费太贵了,可能就不续费了,也可以算做一个未雨绸缪

刻录镜像

我们选择 Raspberry Pi Imager 来进行镜像的刻录。

在这里选择ubuntu镜像

然后选择sd卡烧录

烧录完成后直接安装系统就好了。

安装软件

关闭防火墙#

sudo ufw disable

安装openssh#

sudo apt install openssh-server

安装Docker&Docker-Compose#

从 Docker 官方下载安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh

然后运行安装脚本:

sudo bash ./get-docker.sh

把当前用户(zhaoshuang)加入到 docker 用户组中,这样就可以不使用 sudo 来操作 docker 命令了:

sudo usermod -G docker -a zhaoshuang

注销当前用户,重新登录就可以使用普通身份直接执行 docker 命令。

配置腾讯镜像源

vi /etc/docker/daemon.json

Copy
{ "registry-mirrors": [ "https://mirror.ccs.tencentyun.com" ] }

重启docker

sudo systemctl restart docker

安装docker-compose

sduo apt-get install docker-compose

安装数据库

Copy
version: '3' services: db: image: postgres:12-alpine restart: always ports: - 5432:5432 volumes: - ./pg-data:/var/lib/postgresql/data

安装花生壳

Copy
# 下载 sudo wget "https://dl-cdn.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb" -O phddns_5.1.0_rapi_aarch64.deb # 安装 sudo dpkg -i phddns_5.1.0_rapi_aarch64.deb

执行phddns status查看

复制SN码到 http://b.oray.com 通过SN码登录密码为admin

绑定下账号实名认证后进入后台管理

新增一个映射

然后远程登录下

ssh -p port user@域名

然后就可以远程登录了

安装mysql#

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

我们可以通过ssh隧道远程连接

测试连接

安装halo&postgresql#

创建docker-compose.yml文件

Copy
version: "3" services: halo_next: image: halohub/halo-dev:2.0.0-rc.2 container_name: halo_next restart: on-failure:3 depends_on: halo_db: condition: service_healthy networks: halo_network: volumes: - ./:/root/.halo2 ports: - "8090:8090" environment: - SPRING_R2DBC_URL=r2dbc:pool:postgresql://halo_db/halo - SPRING_R2DBC_USERNAME=halo # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - SPRING_R2DBC_PASSWORD=123456 - SPRING_SQL_INIT_PLATFORM=postgresql # 外部访问地址,请根据实际需要修改 - HALO_EXTERNAL_URL=http://localhost:8090/ # 初始化的超级管理员用户名 - HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME=admin # 初始化的超级管理员密码 - HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD=123456 halo_db: image: postgres:latest container_name: halo_db restart: on-failure:3 networks: halo_network: volumes: - ./db:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 environment: - POSTGRES_PASSWORD=123456 - POSTGRES_USER=halo - POSTGRES_DB=halo networks: halo_network:

docker-compose up -d 启动

在花生壳上配置一下映射端口

https://395027ui04.goho.co/

访问成功

posted @   loveletters  阅读(253)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
目录