当前位置: 首页 > news >正文

【树莓派】树莓派搭建个人服务器

租的云服务器过期了,计划把云服务器上的项目迁移到树莓派上

树莓派是一个低功耗、低成本的微型电脑,它只有一块信用卡大小但功能齐全,目前已经出到了第5代,在编程学习这块很受欢迎。我选择它的理由很简单——造价相对便宜

dadbddf80f0347a69949160e014f623f.png

1、准备材料

1.1、搭建服务器所需的设备

a、树莓派5主板一个,4GB运行内存

b、树莓派充电器一个,5.1V

c、32G内存卡和读卡器一个

1.2、软件

a、Raspberry Pi Imager,树莓派烧录工具

b、Xshell,远程连接工具

c、nginx,web服务器

d、loopHole,内网穿透工具

1.3、其他

a、稳定的wifi环境

b、熟悉linux操作系统

树莓派精简的只剩一块主板,所以我们要给它添加存储设备,首选内存卡,树莓派上有一个专门插内存卡的卡槽。充电器最好选用官方的5.1V版,一般充电器可能会提示电压不足

2、安装树莓派系统

2.1、下载树莓派操作系统

Raspberry Pi OS是树莓派官方的操作系统,它是基于Debian为树莓派专门定制的版本

下载地址:https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

908c4b9dbd4c403dbc593623988d2add.png下载Raspberry Pi OS Lite 64位版本,lite版本没有图形界面操作指令接近linux,适合有linux系统操作经验的同学

2.2、安装树莓派系统烧录工具

Raspberry Pi Imager是官方的烧录工具,操作简单开箱即用
下载地址:https://www.raspberrypi.com/software/

ae6cd20e79fa490694f122eab6b5c18d.png

打开Raspberry Pi Imager

e07b8774e21d4ea9a2763470b503112b.png

点击"CHOOSE DEVICE",选择Raspberry Pi 5

6770b923aa2c4ae19b4a581417ba3bff.png

点击"选择操作系统",选择"Use custom",找到之前下载的系统镜像文件

b63fa0413e244258b9b99fee15164aee.png

将SD卡放入读卡器再插入电脑,点击"SD卡"选项,选择设备

416a50adea844b5a8c1e3180e2bf850c.png

点击next,选择"编辑设置",按自己的需要填写配置。重点留意主机名、用户名密码还有wifi这几项,后面连接树莓派会用到

cdfc2254d8ea47d68038d3f50c7f733d.png

在servie一栏选择选择使用密码登录

4fe74a1be7974a909dbebe7c56decba5.png

b11355c3ab7246ec92ed78e1db82a212.png

配置好了之后点击"保存",然后点击"是"开始写入系统,写入完成会提示拔出SD卡

62d743b5fdfe4cf9af590cc5ed6b65e1.png

3、连接树莓派

电脑和树莓派接入同一个wifi,打开电脑命令行ping主机名,拿到树莓派的ip6地址

ping 上面填写的主机名

9ea7f3f29e164647bfb0fb2dc9926f84.png

打开shell,新建会话输入ip6地址、登录名、密码即可连接树莓派

00f8aa7180004257a3d8a3830a49ec1a.png

4、修改系统配置

4.1、配置键盘

使用vi命令编辑文档时删除键和方向键可能失效,需要修改键盘配置

# 编辑键盘配置文件
sudo vi /etc/vim/vimrc.tiny# 文件修改内容
1、set compatible 改成  set nocompatible
2、文件尾添加 set backspace=2

4.2、修改安装源

使用系统自带的源更新软件非常的慢,为了节省时间我们要把源换成国内的

# 备份源文件
cd /etc/apt
sudo cp sources.list sources.list.bak# 编辑源文件
sudo vi /etc/apt/sources.list# 源文件修改内容
1、清空原来的文本
2、添加阿里源:
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

4.3、更新软件
# 更新软件
sudo apt-get update

如果提示签名异常,参考下面博客:

fcd00009b5d044559fbc3195400cf004.pngGPG error: The following signatures couldn't be verified because the public key is not available解决方法 - Clotho_Lee - 博客园 (cnblogs.com)

5、安装常用工具

5.1、安装sftp

服务器经常用到文件传输功能,因此安装一个sftp

# 安装sftp
sudo apt-get install vsftpd# 编辑sftp配置文件
sudo vi /etc/vsftpd.conf# 配置文件修改内容
1、配置用户写权限,去掉write_enable=YES前的#注释
2、配置端口,去掉local_umask=022前的#注释# 重启服务
sudo service vsftpd restart

6、部署项目

6.1、安装nginx

nginx可以用来部署静态页面和代理请求,我们拿它来作为项目试点。网上使用yum安装nginx依赖居多,但Debain安装yum一直提示无法找到安装包,改用apt-get

# 安装依赖
sudo apt-get install libpcre3 libpcre3-dev gcc zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev# 下载nginx
wget "http://nginx.org/download/nginx-1.20.1.tar.gz"# 解压
sudo tar -xf nginx-1.20.1.tar.gz# 进入nginx目录
cd nginx-1.20.1# 创建安装目录,可自行替换
mkdir -p /home/soft/nginx# 检查依赖 安装路径需与上面一致
sudo ./configure --prefix=/home/soft/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-Wno-error -Wno-deprecated-declarations"# 执行编译
sudo make 
sudo make install# 进入安装目录
cd /home/soft/nginx/sbin# 指定配置文件
sudo ./nginx -c /home/soft/nginx/conf/nginx.conf# 启动nginx
sudo ./nginx -s reload

访问树莓派ip:80,如果能正常访问就说明nginx安装成功了

82dc5a4e20a14253a195ac356272675f.png

7、内网穿透

由于局域网的关系树莓派上的服务只能在wifi范围内访问,狭义上讲公网是无法直接访问内网的,如果我们想在公网上访问内网的资源就要用到内网穿透技术。

网上的内网穿透工具有很多,比如说花生壳和cpolar,有兴趣的话可以自己了解一下。这里推荐loophole——一款国外的内网穿透工具,选择它的原因和前面一样,也是便宜,loophole是免费,不过免费有免费的代价,它的带宽速度非常感人,如果你有钞能力完全可以选择其他方案

首先要安装loophole的客户端,loophole提供了不同配置的客户端,我的树莓派是arm64的,相同配置的可以参考下面的指令下载,如果arm不一样可以进官网下载其他版本

官网:Download | Loophole

# 查看处理器架构,返回aarch64就是arm64
uname -m# 下载arm64安装包
wget https://github.com/loophole/cli/releases/download/1.0.0-beta.15/loophole-cli_1.0.0-beta.15_linux_arm64.tar.gz# 解压
tar -zxf loophole-cli_1.0.0-beta.15_linux_arm64.tar.gz # 重命名文件夹 进入目录
mv loophole-cli_1.0.0-beta.15_linux_arm64 loophole
cd loophole

输入登录指令后会返回链接和激活码,浏览器打开链接输入激活码确认设备

# 登录
sudo ./loophole account login

b6c5954141e9423ca5d71f1ec95d30c5.png

e0e041e4883e47c499108e54834d25dd.png

进入登录页面注册账号并完成登录,登录成功会提示success

1e860992e7834aafa4adae7bb1ecf347.png

62b62d3c9232498aae1f01d260c5608a.png

回到命令行输入代理指令,等待客户端返回域名

# 建立代理
sudo ./loophole http 开放端口 树莓派ip地址
例如:sudo ./loophole http 80 192.168.133.233

5714d8231e204a949f601ee72f109d42.png

19a0a03d40334724b9453d2f9321bb4e.png

现在就可以通过loophole返回的域名来访问树莓派的服务了,只要loophole服务不关闭代理就会一直持续


http://www.mrgr.cn/news/53607.html

相关文章:

  • 2023年五一杯数学建模C题双碳目标下低碳建筑研究求解全过程论文及程序
  • chrome清除https状态
  • 【分布式技术】中间件-zookeeper安装配置
  • MySQL实现主从同步
  • 华为OD机试真题---分割数组的最大差值
  • JVM参数
  • Qt之QObject
  • Java并发编程深度解析:从基础到实战
  • Shades of Gray 算法
  • 问:MySQL数据库存储引擎及对应的锁有哪些?
  • ​AI Sketchnotes Generator——解锁创意表达的新方式
  • 83.【C语言】数据结构之顺序表的尾部插入和删除
  • C语言 | Leetcode C语言题解之第493题翻转对
  • [实时计算flink]DataStream连接器设置方法
  • 骑砍霸主MOD天芒传奇Ⅱ·前传-序章
  • Cuda By Example - 8 (性能测量)
  • ChatGPT的150个角色提示场景实测(17)营养师
  • 一天认识一个硬件之路由器
  • MobaXterm 中文乱码
  • 22 linux 进程管理进程间通信
  • 【JAVA毕业设计】基于Vue和SpringBoot的图书个性化推荐系统
  • pip安装sentence-transformers时的一些报错记录以及Python汉字转拼音cleverdeng/pinyin.py程序的调整处理
  • 高效实现Python机器学习:超参数优化中的网格搜索与随机搜索详解
  • 城市发展指数-基于滴滴平台数据测算
  • C++ 数组、递归两种方式实现二分查找
  • 安卓窗口wms/input小知识NO_INPUT_CHANNEL剖析