树莓派Ubuntu Server20.4.1搭建web可外网访问

树莓派Ubuntu Server搭建web可外网访问[koa2]

在这里插入图片描述

本人对于页面的大量访问没有特别高的要求. 仅仅足够十几个人访问就可以了.
后期想搭建一个博客和家庭网站练手. 所以这样的需求完全没有必要使用服务器.太浪费钱了
所以想到了,树莓派正是最好的选择,因为运行一年. 你仅仅需要支付20块钱不到的电费…
所以经过一下午的折腾搭建完成,记录一次心得体会

树莓派搭建服务器的好处:

除了设备钱,真的几乎可以忽略掉运行成本. 简直太省电了.
配合内网穿透软件部署到公网上.不在乎域名的话,完全不耽误使用
开始我以为树莓派这配置应该带不起来复杂页面的web吧?
结果真的是我多虑了, 完全带得动.

准备条件:

  1. 树莓派4p 2G内存 16G储存卡 电源等基础配件
  2. 随便在花生壳申请一个免费账号[免费的自己玩真心够用了]
  3. 下载UbuntuServer20.04.1 传送门
  4. 下载系统刷写工具,推荐使用Etcher 或者使用树莓派官方工具

刷写系统:

拔掉树莓派内存卡, 用读卡器链接电脑
在这里插入图片描述
这软件太简单了. 所以就不做太多解释了. 选择镜像-选择储存卡-刷写
唯一需要注意的问题是,在上面链接下载下来的系统一定要解压缩一下. 扩展名为.img时才可以使用
如果刷写系统失败,很可能出现储存卡可以被识别,但是容量空间为0
这里不要紧张. 继续用这个软件刷一下就好了. 别问我怎么知道的…

启动系统

当提示刷写成功时就可以把储存卡插入树莓派接通电源和网线启动了
为了省事,我们就不接什么HDMI显示器了.容易点不亮还麻烦
当树莓派红灯亮起过一会. 绿灯各种闪烁的时候. 基本上就可以操作以下步骤了

  1. 通过路由器软件或者app 查询一下. 你的局域网内是否多了一个叫做Ubuntu的设备,查看一下它的IP地址,如果状态中显示有线接入就更加确定是了.
  2. 随便打开你的终端 powerShell 或者命令行工具.输入ssh ubuntu@192.168.x.x 密码:ubuntu.这是ubuntu的默认密码,但也是临时的. 登录进去之后.会提示你设置新密码. 直接输入sudo passwd root 先输入旧密码,再设置一下超级管理员root的新密码.以后就用root登录了.
  3. 补充一步, 设置完上面的步骤还需要 vi 修改一下 /etc/ssh/sshd_config文件
    在这里插入图片描述
    将注释取消, 并且后面改为yes
    service sshd restart重启ssh服务
  4. 如果提示设置成功. 那么基本上ssh的配置就算完事了. 可以进行wifi和固定ip的设置了

Ubuntu Server 20.04.1 配置WiFi链接

更新安装源
sudo apt update
配置netplan
cd /etc/netplan/
yaml文件名可能不一样,备份
sudo cp 50-cloud-init.yaml 50-cloud-init.yaml.backup
编辑yaml文件
sudo vim 50-cloud-init.yaml
yaml文件格式如下(YourRouterID是你的路由器名(如"TP-Link-abc"), YourPassword是路由器密码(如:“123456”)):
addresses是配置如果是有线接入 的固定ip地址. 这样你每次重启设备. ip不会乱换
虽然配置WiFi. 还是建议用有线接入.因为我家路由器太der~

network:
    ethernets:
        eth0:
            dhcp4: false
            dhcp6: no
            addresses: [192.168.3.202/22]
            gateway4: 192.168.3.1
    wifis:
        wlan0:
            dhcp4: true
            access-points:
                    "WiFi名":
                            password: "wifi密码"
    version: 2

验证一下是否有错误
sodu netplan try
保存yaml,并生效该配置
sudo netplan apply

安装宝塔面板[高手可以不用]

毕竟我也是玩玩的web服务器. 没有必要按照大企业级别去折腾. 直接怎么省事怎么来
而且经过实测, 树莓派完全带得动
直接一行指令: 外加等待五十分钟,毕竟编译安装,树莓派的cup虽说不错也吃力.
Ubuntu/Deepin安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

然后就等着吧.

宝塔还是比较亲小白的. 安装完后,按照上面的提示一步一步来就可以了
进入宝塔面板以后:
在这里插入图片描述
安装一下pm2管理器. pm2很好用. 不解释. docker是我自己用的. 不用理会.
为什么要安装pm2? 因为宝塔会默默地帮你安装好nodejs.还有npm包管理 省心啊.

又过去了10分钟.

重新连接一下ssh 否则 node之类的指令用不了

基本上有node. 各位大佬们已经完全可以起飞了.

网页部署

这里就不用多说了吧. 直接贴代你自己的koa代码和前端页面了. 我们只做一个简单的hello world测试一下

随便找一个工作目录
npm init 初始化一个项目 这时候会多一个package.json文件. 不用管它
touch index.js 创建一个空的js文件
vi index.js编辑js文件. 赋值下面代码 直接vi进入文件后输入i 这时候编译器会变为编辑模式.粘贴下面代码 之后按Esc 然后输入:wq保存并退出,如果你粘贴错了. 输入:q!不保存强制退出.

 var koa = require("koa");
 
 var app = new koa();
 
app.use(function (req, res) {
     res.send("hello word")
 });

app.use(async (ctx) => {
    ctx.body = "hello word"
});
 
app.listen(3002);

编辑好js文件以后. 这时候安装一个koa2的依赖npm install --save koa
然后运行js文件node index.js
如果不报错就算运行成功了. 哈哈
接着就可以进行内网穿透了

内网穿透,让你的web见见世面

首先你要在你的宝塔面板中-安全-放行代码中的3002端口.这个是你自己设置的.
在这里插入图片描述
然后 去花生壳官网下载客户端传送门
**这里要提示一下,不要在官网下载linux版本,要下载树莓派版. 因为linux的运行不起来. 我也不知道为什么,反正是采坑了. **
在这里插入图片描述
将下载好的文件通过ftp工具传入到树莓派中
在这里插入图片描述
随便找个你认识的文件夹放一下就行
cd到你放文件的文件夹

输入安装命令:dpkg -i 安装包名称。回车,等待安装完成。
如: dpkg -i phtunnel_5_0_rapi_aarch64.deb
在这里插入图片描述
安装成功后,将显示花生壳的SN码、默认密码(admin)及远程管理地址http://b.oray.com。

树莓派中的花生壳安装完成后,先复制生成的SN码。然后在浏览器中访问远程管理地址http://b.oray.com ,在登录页面中输入SN码与默认密码(admin)登录。
在这里插入图片描述
首次登录,需先激活。提供扫码激活和密码激活两种方式,可灵活选择。
①扫码激活:需使用花生壳管理APP或微信进行扫码激活;
②密码激活:输入已注册的Oray帐号密码激活。
在这里插入图片描述
激活成功后,进入花生壳管理平台。若绑定SN码的帐号只有动态域名解析功能,需使用内网穿透功能时,可点击“免费开通”,或直接将帐号升级到带内网穿透功能的服务版本。
在这里插入图片描述
添加内网穿透映射时,点击页面上的“增加映射”按钮。
在这里插入图片描述
根据页面提示填写映射所需的信息,这里以映射树莓派的SSH服务
(10022端口)为例:
①应用名称:自定义
②应用图标:自行选择
③映射类型:选择HTTP
④映射模板:暂不选择模板
⑤外网域名:选择用作外网访问的域名
⑥外网端口:选择动态端口
⑦内网主机:树莓派设备的内网IP地址
⑧内网端口:映射的服务类型对应端口10022
⑨带宽:购买映射带宽后,可支持给映射分配额外带宽,这里保存默认。
确认映射内容无误后,点击“确定”。在这里插入图片描述
上面第三步选择HTTP 如果想外网链接ssh 选择tcp

完成以后. 大约几十秒. 就可以通过你的链接访问你的hello world了 哈哈

下面是我部署的页面. 支持websocket 树莓派完全带得动,而且免费版的花生壳内网穿透也足够自己玩了.
当然. 这个页面的后端业务逻辑和一些交易程序我没有部署到树莓派上, 因为万一崩了…会哭死…
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值