【树莓派】作为服务器,实现外网访问

2023-05-16

我的个人博客目前由树莓派提供服务
本文首发于我的个人博客:xiebin.tech
内容重点参考自 科技爱好者博客

前期准备

如果你只有一块新买的树莓派,可以看树莓派4B 安装系统 实现WIFI联网 设置静态IP先安装系统

下面这些要求在按照上述文章操作后,即可达到.你可以自己对照一下看看是都达到要求.

  • 已经安装好Linux系统的树莓派开发板(本文中采用树莓派4B)一块,且已经通过Wifi连接至局域网.
  • 树莓派设置静态IP地址.这一步是为了后期通过XShell连接和VNC连接,IP地址不固定会导致利用无线的方式连接起来很麻烦.

第一部分 在树莓派上安装LNMP

LNMP即是:Nginx+PHP+MariaDB+phpMyAdmin
其中安装phpMyAdmin是为了后面安装Typecho做准备

一、利用VNC或者XShell与树莓派交互(如果你的树莓派连接了键盘和鼠标就不必这么麻烦).本文以XShell连接为例.

下面的安装过程中提示确认均输入Y即可.

二、安装nginx

sudo apt-get install nginx-light

利用XShell与树莓派连接并输入命令示意

三、安装php 7.3

sudo apt-get install php7.3-fpm

四、配置nginx,使其处理php网页

Nginx的配置文件默认位置为:/etc/nginx/nginx.conf,而配置PHP只需修改 /etc/nginx/sites-available/default 文件就可以.

修改 nginx 配置:

sudo nano /etc/nginx/sites-available/default

修改为:

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;
        index.php index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        # 设置脚本文件请求的路径
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        # 引入fastcgi的配置文件 
                include fastcgi_params;
        }

}

修改之后重启nginx,即可配置好nginx和php:

sudo nginx -s reload

检查是否配置成功,在网站根目录下新建一个index.php的文件,包含以下内容:

<?php phpinfo(); ?>

保存后退出,在浏览器中打开http://树莓派ip/index.php,即可看到phpinfo信息,说明php和nginx配置成功!

这里的浏览器有两种选择:
一、树莓派自带的Chrome浏览器.
二、你自己电脑上的浏览器,但需要注意的是树莓派必须和该电脑处于同一局域网才可以访问到.
网址中树莓派ip该为你前面配置树莓派时设置的静态ip即可.

五、安装 MySQL和phpMyAdmin

sudo apt-get install mariadb-server-10.3 phpmyadmin

中间会出现一个配置 phpMyAdmin 的选项,由于树莓派用的web服务器是nginx ,所以这里按“Esc”推出,不进行选择.
在这里插入图片描述
安装快结束时,又出现了一个配置选项:
在这里插入图片描述
点击yes进行配置。之后要求输入一个密码,以注册到mysql 服务器上去.
在这里插入图片描述
输入密码后点击 “OK”,再次确认.
安装完成后还要把phpmyadmin 连接到 nginx服务器的php根目录上,因此建立软连接:

sudo ln -s /usr/share/phpmyadmin /var/www/html

六、修改数据库密码

首先,登录数据库

sudo mysql -u root -p

这里存在两种结果

  1. 一种需要输入密码进行登录,直接输入第五步输入的密码即可登录,然后直接跳至第七步即可.
  2. 不用输入密码,直接确认即可登入,则继续执行下续步骤.

修改加密方式:

> update mysql.user set plugin='mysql_native_password';

修改密码:

> update mysql.user set password=PASSWORD("用你的密码代替") where User='root';

刷新权限信息


> flush privileges;

此时再登录数据库就需要密码了.

七、完成

到这儿就完成了在树莓派上搭建网站服务器的步骤,共在树莓派上安装了Nginx、PHP 7.3 、MariaDB 、 phpMyAdmin 。
你可以登陆 http://树莓派Ip/phpMyAdmin 来管理数据库(登陆名为phpmyadmin,密码为在安装时配置的密码),也可以将网站文件放在/var/www/html下,从而轻松在树莓派上搭建个人的博客网站了。

这里可能存在无法打开的问题,可以修改以下文件的权限,即可解决.
文件路径:/var/www/html/phpmyadmin

执行命令

sudo chmod -R 755 /var/www/html/phpmyadmin

第二部分 使用Ngrok进行内网穿透

本部分重点参考自Sunny-Ngrok使用教程

这一步最终能够实现你的树莓派被外网访问.
即你在任意一台电脑的浏览器上访问你的域名即可访问由你自己的树莓派提供的服务.
如果你自己的宽带具有公网ip,则不必进行这一步,相关的操作自行百度.
以下内容是给不具备公网ip的小伙伴准备.

一、准备

  • 域名一枚(最佳的情况下当然是自己买一个域名啦,不过只是体验一下的小伙伴可以使用Ngrok官方提供的域名)
  • phpmyadmin能正常登录,如下图所示
  • 注册、登录Sunny-Ngrok

二、开通隧道

此处以免费的Ngrok服务器为例

白嫖当然是有代价的喽…访问速度会比较慢
在这里插入图片描述

隧道协议选中http
在这里插入图片描述

点击确认添加确认开通即可完成隧道的开通.
进入隧道管理,如下图所示
在这里插入图片描述
点击编辑进入如下页面 获取得到前置域名,现在你将此网址输入浏览器即可访问到你的树莓派啦!
在这里插入图片描述

三、使用自定义域名访问

哪个成年人不想拥有一个自己专属的域名呢…
本文以我自己的域名:xiebin.tech为例

修改如下
在这里插入图片描述
进入域名提供商官网(国内常见的是腾讯云/阿里云)设置域名解析
在这里插入图片描述
解析页面如下
在这里插入图片描述
按下图所示设置即可(解析到free.idcfengye.com)
在这里插入图片描述

四、使用自定义域名访问树莓派服务器

浏览器输入你自己的域名,不出意外的话就能打开你的树莓派提供的页面了.如下图所示
在这里插入图片描述
~如果读到这儿了,不如点赞、收藏来一波

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【树莓派】作为服务器,实现外网访问 的相关文章

随机推荐

  • js删除对象中的元素

    if e data let result 61 JSON parse e data this form 61 result item 删除对象中的create time xff0c update time元素 delete this for
  • FreeRTOS 任务调度 任务切换

    64 嵌入式 简述启动调度器 移植层调度器启动第一个任务 任务切换参考 FreeRtos 简述 前面文章 lt FreeRTOS 任务调度 任务创建 gt 介绍了 FreeRTOS 中如何创建任务以及其具体实现 一般来说 xff0c 我们会
  • FreeRTOS 信号量

    64 嵌入式 简述二进制信号量 二进制信号量使用二进制信号量实现 创建信号量获取信号量释放信号量 中断中释放任务中释放 计数信号量互斥锁 创建互斥信号量拿锁放锁 递归互斥锁 获取递归信号量释放递归信号量 参考 FreeRtos 简述 Fre
  • 【转存】SpringBoot 中的自带工具类,快速提升开发效率

    断言 断言是一个逻辑判断 xff0c 用于检查不应该发生的情况 Assert 关键字在 JDK1 4 中引入 xff0c 可通过 JVM 参数 enableassertions开启 SpringBoot 中提供了 Assert 断言工具类
  • Mybatis-plus BindingException问题

    原因 xff1a 找不到 mapper xml 问题 解决方法 xff1a 去掉引用 mybatis plus lt dependency gt lt groupId gt com baomidou lt groupId gt lt art
  • 年度成果发布 | 百度超级链精选案例集正式上线!

    关注百度超级链微信公众号回复 案例集 获得电子版精选案例集 近年 xff0c 随着数字经济的发展 xff0c 区块链作为新基建的潜力逐渐被挖掘 xff0c 极大地发挥出其公开透明 高效便捷 互联互通的优势 xff0c 正在逐步提升社会信息交
  • Linux之Ubuntu入门篇[笔记自用]

    CMD 一 linux常用命令 lscd 点表示当前目录 点点当前目录的上一级目录 当前用户目录 放回上一次目录 pwduname 用于显示系统信息clear 清屏catsudo 以管理员运行cp 文件拷贝su 切换用户 sudo su x
  • Mysql 主从同步状态检查

    show slave status G 参数详解 1 Slave IO State SHOW PROCESSLIST输出的State字段的拷贝 Master User 被用于连接主服务器的当前用户 Master Port 当前的主服务器接口
  • maven打包报错 Expected root element project but found html

    Expected root element 39 project 39 but found 39 html 39 XXX spring boot parent 2 1 6 RELEASE pom 原因是POM文件错误 看下仓库中具体报错的p
  • BGP、OSPF、MPLS路由协议RFC分享

    文章目录 1 概述1 1 BGP1 2 OSPF1 3 MPLS 2 分享2 1 rfc 42712 2 rfc 31072 3 rfc 43642 4 rfc 44562 5 rfc 45772 6 rfc 47242 7 rfc 476
  • 单片机底层硬件与应用程序的联系

    1 单片机使用下载的固件库 xff0c 即底层驱动程序 2 功能配置寄存器是直接与硬件相互联系的 xff0c 例如汇编语言便可直接操纵功能配置寄存器
  • ROS中TF变换详解

    ROS发布TF变换 提示 xff1a 在ROS中发布TF变换时 xff0c 所使用的的角度为弧度而不是度 本文可以验证 xff0c 有错误欢迎各位评论指出 文章目录 ROS发布TF变换 前言1 Python实现TF发布2 C 43 43 实
  • 小狼毫输入法皮肤配置【自带皮肤配置】

    小狼毫输入法皮肤 小狼毫自带皮肤预览图小狼毫皮肤配置注释小狼毫自带的皮肤和配置 取自小狼毫程序文件夹 小狼毫自带皮肤预览图 安装位置 Rime weasel 0 14 3 data preview 小狼毫皮肤配置注释 span class
  • 119. Pascal's Triangle II

    Given a non negative index k where k 33 return the kth index row of the Pascal 39 s triangle Note that the row index sta
  • 【新手把新手,易学】esp8266指令进行测试

    Csdn的写博客的工具简直太难受了 xff0c 写在了world里边复制粘贴不过来 xff0c 图片不显示 xff0c 格式全丢失 xff0c 把测试分块发出来把 我也是新手按照新手帖子一步步实验的 xff0c 并做了一些补充 STA 类似
  • 百度超级链2021年终盘点:深度赋能数字经济,促进产业融通发展

    区块链是具有巨大潜力的战略技术 2021年 xff0c 国家 十四五 发展规划纲要将区块链列入七大数字经济重点产业之一 工信部 中央网信办联合印发推动区块链技术应用和产业发展的指导意见 xff0c 推动区块链技术加速落地 百度超级链秉承 让
  • 访问 www.taobao.com过程

    首先是查找浏览器缓存 xff0c 浏览器会保存一段时间你之前访问过的一些网址的DNS信息 xff0c 不同浏览器保存的时常不等 如果没有找到对应的记录 xff0c 这个时候浏览器会尝试调用系统缓存 来继续查找这个网址的对应DNS信息 如果还
  • PyTorch安装通用教程——附安装包

    安装PyTorch 通用教程 由于最近做项目需要使用PyTorch xff0c 所以便准备在网上查找相关教程和下载安装包 但由于官网提供的下载方式下载慢 xff08 至少我是如此 xff09 xff0c 以及在网上寻找百度云资源无果 由于曾
  • 树莓派4B 安装系统 实现WIFI联网 设置静态IP(无键鼠和显示器)

    本文结构 没有连接显示屏 键盘 鼠标 前期准备下载系统镜像并解压至存储卡实现利用网线访问树莓派系统连接WIFI设置静态IP 前期准备 文章比较长 xff0c 因为比较全面 树莓派4B网线一根已连接无线网的笔记本电脑存储卡 xff08 不低于
  • 【树莓派】作为服务器,实现外网访问

    我的个人博客目前由树莓派提供服务 本文首发于我的个人博客 xff1a xiebin tech 内容重点参考自 科技爱好者博客 前期准备 如果你只有一块新买的树莓派 xff0c 可以看树莓派4B 安装系统 实现WIFI联网 设置静态IP先安装