网站LOGO
逐暗者的麦田
页面加载中
4月23日
网站LOGO 逐暗者的麦田
一个java软件攻城狮
菜单
  • 热评
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    用树莓派加内网穿透搭免费网站
    点击复制本页信息
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    按住ctrl可打开默认菜单

    用树莓派加内网穿透搭免费网站

    shellingford · 原创 ·
    程序人生 · 网站内网穿透树莓派
    共 3663 字 · 约 3 分钟 · 780
    本文最后更新于2023年08月05日,已经过了262天没有更新,若内容或图片失效,请留言反馈

    背景

    text 代码:
    家中闲置的一个树莓派,想着如果能用来建立网站,那也算有点用处了。看了一下树莓派的配置,和阿里云对比,那可是要不少软妹币的。

    安装树莓派

    这里先说一下踩过的坑,如果刷raspberry pi os 的话,那后期安装nginx、mysql等都比较麻烦,如果只是想用来搭建网站服务器的话,可以刷ubuntu ,配合免费版宝塔面板,何乐而不为呢?

    刷ubuntu

    首先下载raspberry pi Imager ,这个从官网下载就好,无论是win系统还是macos都有对应的版本。
    https://www.raspberrypi.com/software/

    打开软件,选择os、sd卡,这里选择的是ubuntu server版本,我的树莓派都没有接显示器,所以不用装桌面版。

    然后千万别忘记设置ssh服务和WIFI

    这个工具方便之处在于OS镜像、ssh服务、WIFI一次搞定。烧录完成之后就可以将SD卡插入树莓派启动系统了。

    调整系统

    刚刷完的系统还需要做一些小调整,首先通过路由器找到raspberry的ip

    想固定IP的话,顺带用路由器绑定一下mac和ip地址就好了。

    然后登录树莓派的ssh服务(可以使用工具或者mac自身的ssh都行)
    如果觉得pi账号每次都要su比较麻烦,可以开放root账号。

    shell 代码:
    sudo passwd root
    #执行后提示设置密码,输入2遍确认
    
    sudo passwd --unlock root    
    #解锁root账户,如需再次锁定,将unlock改成lock即可
    
    su
    #输入刚设置的密码,进入root账户
    
    sudo nano /etc/ssh/sshd_config
    #放开root账户使用ssh登录

    【Ctrl+W】快捷键,搜索【PermitRootLogin without-password】,修改【PermitRootLogin without-password】为【PermitRootLogin yes】。
    【Ctrl+O】快捷键,保存。

    安装宝塔面板

    既然有免费版本的面板使用,为什么还要使用命令行安装再手动修改配置呢?
    宝塔面板官网
    可以选择万能安装脚本

    接着等待脚本运行完成,会有提示访问地址、账号和密码。至此本地服务器就搭建完成了,通过面板可以安装各种环境,例如:nginx、php、mysql、redis、docker等等,都是可视化界面操作,搭建网站也是分分钟的事情。

    内网穿透

    但是现在只能在局域网内访问树莓派的网站,离开家之后就访问不到了。所以我们需要内网穿透,免费的推荐StarryFrp ,未实名有5条隧道,实名后有10条通过(实名好像要支付2元),带宽限制调整为 8Mbps 。 每日签到送流量,未实名1 ~ 3 GiB ,实名后 1 ~ 10 GiB 。 一般个人网站足够使用了。

    创建隧道

    注册好后就可以根据提示创建隧道了,选择合适的节点和协议就可以了。

    再回到隧道列表,查看详细信息,记得将自己的域名解析到节点地址上,采用cname解析。


    接着就是下载软件,由于我烧录的是64位系统,所以这里也要选择arm64的软件,可以通过wget直接下载。

    当然别忘记给下在下来的软件授权执行

    shell 代码:
    chmod +x ./frpc

    再回到隧道列表,获取启动命令就可以了

    其实启动命令就是

    shell 代码:
    ./frpc -f <账户token>:<隧道id>

    正常启动后可以看到提示信息,然后使用域名访问网站就可以了。
    可以看到用域名访问到了一个内网的宝塔控制面板。

    然后可以做什么呢?当然能做很多事情啦,可以搭建自己的图床,可以部署自己的博客,甚至可以使用docker部署一些工具,例如搭建一个自己的bitwarden秘钥管理软件,再也不用担心密码存放在别人的服务器上是否安全了。

    自启动

    每次都自己输入命令启动是比较麻烦的,自启动当然不能遗漏。
    由于刷了ubuntu,我们就来使用systemd来做自启动。

    shell 代码:
    vi /etc/systemd/system/frpc@.service
    shell 代码:
    [Unit]
    Description=SakuraFrp Service
    After=network.target
    
    [Service]
    Type=idle
    User=nobody
    Restart=on-failure
    RestartSec=60s
    ExecStart=/usr/local/bin/frpc -f %i
    
    [Install]
    WantedBy=multi-user.target

    其中ExecStart需要替换成自己下载的frpc的位置。
    隧道
    执行下面的命令重载 Systemd,这样服务就配置完成了

    shell 代码:
    systemctl daemon-reload
    请记住后续操作中用到的 Unit名称 是 frpc@<启动参数>,例如frpc@wdnmdtoken666666:12345
    • 启动/停止隧道
    shell 代码:
    systemctl <start|stop> <Unit名称>

    举个例子,开启访问密钥为 wdnmdtoken666666 的用户所拥有的 ID 为 12345 的隧道:

    shell 代码:
    systemctl start frpc@wdnmdtoken666666:12345
    • 查看隧道状态
    shell 代码:
    systemctl status <Unit名称>
    • 查看隧道日志
    shell 代码:
    journalctl -u <Unit名称>
    • 开机自启动
    shell 代码:
    systemctl <enable|disable> <Unit名称>
    • 有多个隧道忘记了怎么办? 可以查询
    shell 代码:
    systemctl list-units --all "frpc@*"

    尾声

    至此,使用树莓派在家就可以搭建一个外网可访问的网站了,整个过程除了硬件外,其他都是免费的。ssl证书现在有不少免费的单域名证书可以申请。非实名认证也是可以用的内网穿透的,就是流量有些少。域名也有免费的域名可以申请注册,所以想完全不花额外的软妹币,也是可以做一个自己的网站的。

    声明:本文由 shellingford(博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    现在已有

    2

    条评论
    发一条!
    1. 头像
      fly
      头像 fly
      • 等级:Lv.1
      • 角色:访客
      • 在线:很久之前

      博主,我想问一下,启动隧道之后宝塔面板不需要进行配置操作吗?SSL证书要在哪里添加呢 OωO

      · · · 广东-深圳
      1. 头像
        shellingford fly

        我是隧道启动之后映射到https的443端口,然后宝塔上创建网站,启用https,设置证书就好了。宝塔网站设置里有ssl证书配置,把自己申请下来的证书填进去就好了

        · · · 上海-上海
    博客logo 逐暗者的麦田 一个java软件攻城狮
    MOEICP 萌ICP备20237379号 ICP 沪ICP备13037081号-2,沪ICP备13037081号-1,沪ICP备13037081号-3 又拍云 本站由又拍云提供CDN加速/云存储服务

    🕛

    本站已运行 2 年 241 天 7 小时 3 分

    🌳

    自豪地使用 Typecho 建站,并搭配 MyLife 主题
    逐暗者的麦田. © 2021 ~ 2024.
    网站logo

    逐暗者的麦田 一个java软件攻城狮
     
     
     
     
    壁纸