前言
很久以前,我买了一个4B树莓派,拿来开过mc服务器。但是不久后没人玩便关了,现在把它拿来开网站了(没错,就是你现在看到的这个),树莓派是一款功能强大的单板电脑,它可以用来搭建各种项目和应用。本教程将向您展示如何使用树莓派和内网穿透工具来搭建一个可以在公网上访问的网站。无论您是想搭建个人博客还是展示自己的项目,本教程都将为您提供详细的步骤和指导。
教程 1.安装宝塔面板
由于我不是专业的前端或者后端工程师,安装宝塔无疑对我这种新手来说是最方便的了。免去了敲更多指令和配置,直接UI操控。
首先,输入命令安装宝塔:
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
过程中全程yes就可以了,安装结束时记得记下来宝塔访问网址和账户密码(后续忘记了,可以直接输入bt命令查看)。还要记得开放宝塔访问的端口号(图片中是8888,每个人的不一样),否则可能拒绝访问。
完成后,浏览器网址中直接输入宝塔给的网址,
再输入刚刚记下来的用户密码,就进入后台了。
刚进来会让你选择是LAMP还是LNMP
这里随便选一个就可以了(我的是LAMP,用多了nginx换换口味😁)。
教程 2.配置网站
点击左侧的网站来创建你的第一个网站了,可以自己写html覆盖原文件,或者直接一键部署。
这里讲讲如何一键部署你的博客:
- 点击添加站点
2. 点击一键部署,选择worldPress(用的人比较多)
域名可以先填写树莓派的内网IP,等一下再替换成你所购买的域名。目录会自动生成,一般不用改。
这里要记住数据库的名称,账户和密码。待会配置博客时要用到。点击提交,直接访问树莓派的内网IP(比如114.514.1.114) ,不出意外应该就可以看见WorldPress的界面了。
然后要进行配置数据库,把刚刚记下来的数据库的名称,账户和密码填写进去,点击提交,即可完成。
然后,就可以进去WorldPress的后台了,里面的功能非常多,但并不是本教程的重点,所以就让你们自己去探索了~
教程 3.购买/白嫖域名
你可以去白嫖免费的.tk域名或者购买一个域名。域名购买商有很多,比如:阿里云,腾讯云等…
拿我的rrxweb.top举例,我是去阿里云购买的。一般 .com 的会很贵,域名的价格跟你域名的长度有关。
购买完成后就可以了,等一下再说解析。
教程 4.配置内网穿透
国内有许多 免费/付费 的内网穿透,比如:樱花穿透,LoCyanFrp,OpenFrp,等等等。
这里用樱花穿透来举例(举例不代表它绝对好用):
首先,进入官网:https://openid.13a.com/login
然后,该注册的注册,该登录的登录,还要实名认证。这里就不啰嗦了。(如果这个都要教,那真的就很🙃了)
然后,点击服务一>隧道,
点击新建隧道。
选择一个可以建站的节点,这里提示需要备案,这个等一下再说。选择http协议(后面再改https),本地ip填写127.0.0.1 ,端口选择80,域名填写你所购买的。
然后点击创建就可以了。
接下来是下载樱花穿透Frpc软件到树莓派上,点击 服务-》软件下载。
然后点击 Linux ,选择 ARM64 (树莓派版本)
使用下面的命令进入 /usr/local/bin
目录并下载文件:
cd /usr/local/bin
# 一般来说只需要使用这条命令:
wget -O frpc <下载地址>
# 如果上面的命令报错,请尝试这条:
curl -Lo frpc <下载地址>
# Linux frpc 通常已经过 UPX 压缩,如需下载未压缩的版本请在下载地址尾部加上 _noupx
然后设置权限并校验文件是否有损坏:
chmod 755 frpc
ls -ls frpc
md5sum frpc
执行下面的命令以准备一个工作目录,您应该不会看到任何提示
mkdir -p /usr/local/etc/natfrp
执行下面的命令开始编辑配置文件
nano /etc/systemd/system/frpc@.service
写入以下代码:
[Unit]
Description=SakuraFrp Service
After=network.target
[Service]
Type=idle
#DynamicUser=yes
Restart=on-failure
RestartSec=60s
ExecStart=/usr/local/bin/frpc -f %i
WorkingDirectory=/usr/local/etc/natfrp
[Install]
WantedBy=multi-user.target
执行下面的命令重载 Systemd,这样服务就配置完成了
systemctl daemon-reload
启动/停止隧道非常简单,使用下面的命令即可,start
是启动,stop
是停止
systemctl <start|stop> <Unit名称>
举个例子,开启访问密钥为 wdnmdtoken666666
的用户所拥有的 ID 为 12345
的隧道:
systemctl start frpc@wdnmdtoken666666:12345
使用下面的命令可以列出当前运行中的隧道
systemctl list-units "frpc@*"
配置开机自启动,装好服务后,实现开机自启非常简单,回顾一下前置知识
- 我们只要
启用
服务就可以实现开机自启 - 如果不想开机自启了,
禁用
服务即可
使用下面的命令启用/禁用服务,enable
是启用,disable
是禁用
systemctl <enable|disable> <Unit名称>
systemctl status <Unit名称>
到此,恭喜你,内网穿透的配置完成了!
教程 5.域名备案与解析
不备案的域名是无法使用樱花穿透的,而且大部分Frp供应商都是。这就是为什么要进行备案,备案其实也不复杂,只不过等的时间有点长。
现在备案基本上都是使用某云服务器,然后云服务器的供应商会帮助你备案。比如阿里云的备案服务必须要在它那有服务器。所以你可以去知名的云服务器供应商购买一个云服务器,不需要买很久(阿里云3个月以上才可以备案),反正只是为了备案。
对了,如果你是大学生,阿里云会免费赠送一个10多个月的服务器,那个就可以备案。链接:https://www.bilibili.com/video/BV1po4y1a7ep/。
由于我已经备案了,不方便演示,网上的教程也很多,所以就放一个教程链接在这里了。
全网最详细:个人网站如何备案 – 知乎 (zhihu.com)
接下来就是域名解析了,打开你们域名提供商的网站,点击DNS解析
(这里以cloudflare为例,因为阿里云的DNS解析好像把樱花穿透的域名IP全封禁了,会显示“机房拒绝访问”之类的)
然后点击添加记录,记录类型选择CNAME(指向一个域名),名称填 @ ,代理关掉(开启会很慢)
然后记录值前往 樱花穿透的 服务->隧道列表
,悬浮在节点名称上就可以看见该节点的域名了
复制进刚刚的记录值里面,然后点击保存。
OK!大功告成,现在请启动你的内网穿透服务和宝塔面板,再访问你购买的域名(xxx.com),不出意外的话,你应该可以看见自己的网站了!
使用树莓派和内网穿透工具搭建网站可以让您的网站在公网上访问,提供更广泛的展示和访问机会。本教程提供了一个简单的步骤和指南,帮助您快速搭建起自己的网站。无论您是初学者还是有经验的开发者,都可以按照这个教程来实现自己的网站梦想。
教程 6.配置https安全连接
在你访问网站之后,你应该也注意到了——不安全
这个标志够吓跑一堆人了。但解决这个问题其实很简单,
只需要去宝塔的网站管理页面点击配置-SSL,选择使用[Let’s Encrypt]进行免费签名即可。
最后祝你搭建成功!有什么不会的欢迎访问我的哔哩哔哩空间!
ᴊᴜsᴛ ɢᴏ ғᴏʀ ɪᴛ
现在不推荐宝塔面板了,被曝出有后门。可以试试新开源免费的1panel面板
🙂
现在用的就是
我也在不久前迁移到1panel了
做的非常不错啊
学长好!
也可以试试frpヾ(≧∇≦*)ゝ
我自己没有云服务器来搭建自己的frpc,所以只能用其他服务商提供的frp了
我有个蜗牛星际,是黑群晖,没怎么折腾,就是存点手机照片。
我现在网站是搭建在本地的树莓派上面,然后用内网穿透穿透出去的。但是树莓派4B没有m2接口,所以我没拿来做nas存储ヾ(≧∇≦*)ゝ
能发一下乐青映射的穿透教程吗
暂时没有用乐青云,不过你可以去看看他们的官方文档~
穿透完访问域名显示Not Found怎么办
检查一下权限?
1Panel可以直接在应用商店下崽WP,虽然版本新不新我不知道
1panel确实很方便
每天开启电脑,感觉也不是太方便
教程挺不错,有时间我也折腾一下
非常有用!
不错
cloudflare好像也可以做内网穿透?
cloudflare速度太慢了
Can you upload a tutorial in assembling a tower server
arduino可以搭博客网站吗,感觉树莓派有点贵了
arduino算力太小了,不行