raspberry pi

个人Web服务器是“云”,除了您拥有并控制它而不是大型公司。

拥有一点云有很多好处,包括自定义,免费存储,免费Internet服务,通向开源软件的路径,高质量的安全性,对内容的完全控制,快速更改的能力,可以进行试验的地方代码等等。 这些好处中的大多数是无法估量的,但从财务上讲,每月可以为您节省$ 100以上。

Raspberry Pi作为Web服务器,作者:Raspberry Pi Guy,CC-BY-SA 4.0

我本可以使用AWS,但我更喜欢完全自由,对安全性的完全控制以及学习事物的构建方式。

  • 自助网络托管:否BlueHost或DreamHost
  • 云端存储:无Dropbox,Box,Google Drive,Microsoft Azure,iCloud或AWS
  • 本地安全
  • HTTPS:让我们加密
  • 分析:谷歌
  • OpenVPN:不需要私人Internet访问(估计每月$ 7)

我使用的东西:

  • Raspberry Pi 3模型B
  • MicroSD卡(建议使用32GB,与Raspberry Pi兼容的SD卡 )
  • USB microSD读卡器
  • 以太网电缆
  • 路由器已连接到Wi-Fi
  • 覆盆子皮套
  • Amazon Basics MicroUSB电缆
  • 苹果壁式充电器
  • USB鼠标
  • USB键盘
  • HDMI电缆
  • 显示器(带HDMI输入)
  • MacBook Pro

步骤1:设定Raspberry Pi

下载最新版本的Raspbian(Raspberry Pi操作系统)。 Raspbian Jessie ZIP版本是理想的[1]。 解压缩或解压缩下载的文件。 将其复制到SD卡上。 Pi Filler使此过程变得容易。 下载Pi Filer 1.3或最新版本。 解压缩或解压缩下载的文件并打开它。 您将收到以下提示:

确保尚未插入USB读卡器。 如果有,将其弹出。 单击继续继续。 应显示一个文件浏览器。 在Mac或PC上找到未压缩的Raspberry Pi OS文件,然后选择它。 您应该看到另一个提示,如下图所示:

将MicroSD卡(建议32GB,最小16GB)插入USB MicroSD卡读取器。 然后将USB阅读器插入Mac或PC。 您可以将SD卡重命名为“ Raspberry”,以区别于其他人。 单击继续。 确保SD卡为空。 Pi Filler将在运行时擦除所有以前的存储。 如果需要备份卡,请立即备份。 当您准备好继续时,Raspbian操作系统将被写入SD卡。 大约需要一到三分钟。 写入完成后,弹出USB阅读器,取出SD卡,然后将其插入Raspberry Pi SD卡插槽。 通过将电源线插入墙上为Raspberry Pi供电。 它应该开始启动。 Raspberry Pi的默认登录名是:

用户名:pi
密码:覆盆子

当Raspberry Pi首次完成启动时,标题为“设置选项”的配置屏幕应如下图[2]所示:

选择“扩展文件系统”选项,然后按Enter键[3]。 另外,我建议选择第二个选项“更改用户密码”。 这对安全性很重要。 它还可以个性化您的Raspberry Pi。

(注意:要获得额外的安全性,请安装fail2ban。Fail2Ban阻止来自Internet的可疑请求。例如,如果尝试猜测密码的次数过多,它将阻止该IP地址。可以通过在终端中键入内容进行安装: $ sudo apt-get install fail2ban

在设置选项列表中选择第三个选项“ Enable Boot To Desktop / Scratch”,然后按Enter键。 它将带您到另一个窗口,名为“选择启动选项”,如下图所示。

在“选择启动选项”窗口中,选择第二个选项“在图形桌面上以用户'pi'身份登录桌面”,然后按Enter键[4]。 完成此操作后,您将回到“设置选项”页面。 如果没有,请选择此窗口底部的“确定”按钮,您将回到上一个窗口。

完成这两个步骤后,选择页面底部的“完成”按钮,它应该会自动重启。 如果没有,请在终端中使用以下命令重新启动。

$ sudo重新启动

从上一步重新启动后,如果一切顺利,您将最终在桌面上看到下图所示。

进入桌面后,打开终端并输入以下命令以更新Raspberry Pi的固件。

$ sudo apt-get update

$ sudo apt-get upgrade -y

$ sudo apt-get dist-upgrade -y

$ sudo rpi-update


这可能需要几分钟的时间。 现在,Raspberry Pi已更新并正在运行。

步骤2:配置Raspberry Pi

SSH(代表安全外壳)是一种加密网络协议,可让您在计算机和Raspberry Pi之间安全地传输数据。 您可以从Mac的命令行控制Raspberry Pi,而无需使用显示器或键盘。

要使用SSH,首先,需要您的Pi的IP地址。 打开终端并输入:

 $  sudo ifconfig 

如果使用以太网,请查看“ eth0”部分。 如果您使用的是Wi-Fi,请查看“ wlan0”部分。

找到“ inet addr”,后跟一个IP地址-类似于192.168.1.115,这是我在本文中将使用的通用默认IP。

使用此地址,打开终端并输入:

 $  ssh pi @ 192.168.1.115 

对于PC上的SSH,请参见脚注[5]。

出现提示时,输入默认密码“ raspberry”,除非您更改了密码。

现在,您已通过SSH登录。

远程桌面

使用GUI(图形用户界面)有时比命令行更容易。 在Raspberry Pi的命令行(使用SSH)上,输入:

 $  sudo apt-get install xrdp 

Xrdp支持Mac和PC的Microsoft远程桌面客户端。

在Mac上,导航到应用程序商店并搜索“ Microsoft远程桌面”。 下载它。 (对于PC,请参见脚注[6]。)

安装后,在Mac上搜索名为“ Microsoft远程桌面”的程序。 打开它。 您应该看到以下内容:

图片由Raspberry Pi Guy,CC BY-SA 4.0提供

单击“新建”以建立远程连接。 如下所示填写空白。

图片由Raspberry Pi Guy,CC BY-SA 4.0提供

通过退出“新建”窗口来保存它。

现在,您应该会在“我的桌面”下看到远程连接。 双击它。

短暂加载之后,您应该在屏幕上的窗口中看到Raspberry Pi桌面,如下所示:

完善。 现在,您不需要单独的鼠标,键盘或显示器来控制Pi。 这是一个轻量级的设置。

静态本地IP地址

有时本地IP地址192.168.1.115会更改。 我们需要使其静态。 类型:

 $  sudo ifconfig 

从“ eth0”部分或“ wlan0”部分中写下“ inet addr”(Pi的当前IP),“ bcast”(广播IP范围)和“ mask”(子网掩码地址)。 然后,键入:

 $  netstat -nr 

写下“目的地”和“网关/网络”。

累积记录应如下所示:

net address 192.168.1.115
bcast 192.168.1.255
mask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.1
destination 192.168.1.0

利用此信息,您可以轻松设置静态内部IP。 类型:

 $  sudo nano / etc / dhcpcd.conf 

不要使用/ etc / network / interfaces

然后,您需要做的就是将其附加到文件的底部,以替换所需的正确IP地址。

interface eth0
static ip_address =192.168.1.115
static routers =192.168.1.1
static domain_name_servers =192.168.1.1

设置静态内部IP地址后,请使用以下方法重新启动Raspberry Pi:

 $  sudo reboot 

重新启动后,从终端输入:

 $  sudo ifconfig 

您的Raspberry Pi应该会出现新的静态设置。

静态全局IP地址

如果您的ISP(互联网服务提供商)已经为您提供了一个静态外部IP地址,则可以跳至端口转发部分。 如果没有,请继续阅读。

您已经设置了SSH,远程桌面和静态内部IP地址,因此现在本地网络中的计算机将知道在哪里可以找到Pi。 但是您仍然无法从本地Wi-Fi网络外部访问Raspberry Pi。 您需要可以从Internet上的任何地方公开访问Raspberry Pi。 这需要一个静态的外部IP地址[7]。

最初可能是一个敏感的过程。 致电您的ISP并请求一个静态的外部(有时称为静态全局)IP地址。 ISP拥有决策权,因此我将非常谨慎地处理它们。 他们可能会拒绝您的静态外部IP地址请求。 如果是这样,您就不能对ISP进行故障处理,因为这种类型的请求存在法律和运营风险。 他们特别不希望客户运行中型或大型Internet服务。 他们可能会明确询问为什么您需要一个静态外部IP地址。 最好是诚实地说,告诉他们您计划托管一个低流量的个人网站或类似的小型非营利性互联网服务。 如果一切顺利,他们应该开一张票,并在一两个星期内给您打电话,并提供地址。

转发端口

您的ISP分配的这个新获得的静态全局IP地址用于访问路由器。 Raspberry Pi仍然无法访问。 您需要设置端口转发以专门访问Raspberry Pi。

端口是信息在Internet上传播的虚拟通道。 有时您需要转发端口,以使Raspberry Pi之类的计算机可以访问Internet,因为它位于网络路由器的后面。 VollmilchTV制作的YouTube视频题为“ 什么是TCP / IP,端口,路由,内部网,防火墙,互联网” ,帮助我直观地了解了端口。

端口转发可用于Raspberry Pi Web服务器等项目,或VoIP或对等下载等应用程序。 有65,000多个端口可供选择,因此您可以为所构建的每个Internet应用程序分配一个不同的端口。

设置端口转发的方式可能取决于您的路由器。 如果您有Linksys,Gabriel Ramirez撰写的YouTube视频题为“ 如何与您的Apache Ubuntu服务器联机”介绍了如何进行设置。 如果没有Linksys,请阅读路由器随附的文档,以自定义和定义要转发的端口。

您将需要为SSH和远程桌面进行端口转发。

一旦相信已配置了端口转发,请键入以下命令以检查它是否通过SSH运行:

 $  ssh pi @ your_global_ip_address 

它会提示您输入密码。

检查端口转发是否也适用于远程桌面。 打开Microsoft远程桌面。 应该保存以前的远程连接设置,但是您需要使用静态外部IP地址(例如195.198.227.116)而不是静态内部地址(例如192.168.1.115)来更新“ PC名称”字段。

现在,尝试通过远程桌面进行连接。 它应该短暂加载并到达Pi的桌面。

做得好。 现在可以从Internet访问Raspberry Pi,并准备进行高级项目。

作为奖励选项,您可以维护与Pi的两个远程连接。 一个通过Internet,另一个通过LAN(局域网)。 设置很容易。 在Microsoft远程桌面中,保留一个名为“ Pi Internet”的远程连接,并保持另一个名为“ Pi Local”的远程连接。 将Pi Internet的“ PC名称”配置为静态外部IP地址,例如195.198.227.116。 将Pi Local的“ PC名称”配置为静态内部IP地址,例如192.168.1.115。 现在,您可以选择全局或本地连接。

如果您还没有看到它,请观看Gabriel Ramirez的“ 如何与Apache Ubuntu服务器联机”,作为向Project 2的过渡。它将向您展示项目背后的技术架构。 在我们的例子中,您使用的是Raspberry Pi而不是Ubuntu服务器。 动态DNS位于域公司和您的路由器之间,而Ramirez忽略了它。 除了这些细微之处,还可以在视觉上解释系统的工作原理时观看视频。 您可能会注意到本教程涵盖了Raspberry Pi的设置和端口转发,即服务器端或后端。 有关更高级的项目,请参见原始资源,这些项目涉及域名,动态DNS,Jekyll(静态HTML生成器)和Apache(网络托管),后者是客户端或前端。

脚注

[1]我不建议从NOOBS操作系统开始。 我更喜欢从功能齐全的Raspbian Jessie操作系统开始。

[2]如果未弹出“设置选项”,则始终可以通过打开终端并执行以下命令来找到它:

 $  sudo-raspi-config 

[3]我们这样做是为了将SD卡上的所有空间用作完整分区。 这一切都是为了扩展操作系统以适应SD卡上的整个空间,然后可以将其用作Raspberry Pi的存储内存。

[4]之所以这样做,是因为我们要引导到熟悉的桌面环境中。 如果我们不执行此步骤,则Raspberry Pi每次都会在没有GUI的情况下引导至终端。

[5]

下载并运行 Windows的PuTTY或其他SSH客户端。 在该字段中输入您的IP地址,如上面的屏幕截图所示。 保持默认端口为22。按Enter,然后PuTTY将打开一个终端窗口,该窗口将提示您输入用户名和密码。 填写这些内容,然后开始在您的Pi上远程工作。

[6]如果尚未安装,请下载Microsoft远程桌面 。 在计算机上搜索Microsoft远程桌面。 运行。 出现提示时输入IP地址。 接下来,将弹出一个xrdp窗口,提示您输入用户名和密码。

[7]路由器具有动态分配的外部IP地址,因此从理论上讲,可以从Internet暂时访问它,但是您需要ISP的帮助才能使其永久可访问。 如果不是这种情况,则每次使用时都需要重新配置远程连接。

有关原始资源,请访问Mitchell McLaughlin的Full-Stack Computer Projects 。

翻译自: https://opensource.com/article/17/3/building-personal-web-server-raspberry-pi-3

raspberry pi

raspberry pi_如何使用Raspberry Pi设置个人Web服务器相关推荐

  1. hp无线连接web服务器,在HP打印机中设置嵌入式Web服务器的办法

    在HP打印机中设置嵌入式Web服务器的办法 在本文中要和大家介绍一下在电脑中设置HP打印机嵌入式Web服务器(EWS)权限的方法.在打印机的嵌入式Web服务器(简称EWS)中,可以设置打印机进行连接的 ...

  2. raspberry pi_如何使用Raspberry Pi测量颗粒物

    raspberry pi 我们在东南亚的学校定期测量空气中的颗粒物. 这里的值非常高,尤其是在2月到5月之间,那时天气非常干燥和炎热,许多田野都燃烧着. 这些因素会对空气质量产生负面影响. 在本文中, ...

  3. 树莓派 Raspberry Pi 3B+ 无线路由器, WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集

    目标: 测试四核 A53 树莓派 Raspberry Pi 3B+ 无线路由器, 轻量级WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集性能 初始配置,部分选项需要sudo ...

  4. 打印机不显示web服务器,HP打印机如何设置嵌入式Web服务器(EWS)的权限

    在本文中要和大家介绍一下在电脑中设置HP打印机嵌入式Web服务器(EWS)权限的方法.在打印机的嵌入式Web服务器(简称EWS)中,可以设置打印机进行连接的方式,也可以锁定前面板的一些重要功能,设置访 ...

  5. raspberry pi_如何购买Raspberry Pi

    raspberry pi 本系列中有关Raspberry Pi入门的第一篇文章就应该购买哪种型号提供了一些建议. 现在您已经有了所需的版本,让我们了解如何获得一个版本. 最明显(可能也是最安全和最简单 ...

  6. raspberry pi_如何使用Raspberry Pi构建WiFi相框

    raspberry pi 数码相框非常好,因为它们可以让您欣赏照片而不必打印出来. 此外,添加和删除数字文件比打开传统框架并在要显示新照片时在内部交换图片要容易得多. 即便如此,从数码相框中取出SD卡 ...

  7. raspberry pi_如何使用Raspberry Pi构建数字针Kong相机

    raspberry pi 在2015年末,Raspberry Pi Foundation通过发布小型Raspberry Pi Zero震惊了整个世界. 而且,他们在MagPi杂志的封面上免费赠送了它 ...

  8. raspberry pi_如何进行Raspberry Pi聚会

    raspberry pi Raspberry Jam是Raspberry Pi聚会的名称-它们有许多不同的格式. 一些类似于传统的技术用户组,但是许多是家庭友好型活动,为孩子们提供了学习编码和制作东西 ...

  9. raspberry pi_如何在Raspberry Pi上使用LÖVE游戏引擎对游戏进行编程

    raspberry pi Raspberry Pi以向孩子介绍开源软件和编程而闻名. Pi是负担得起的,实用的专业级计算入门,伪装成可破解的乐趣. Mitch Resnick's Scratch (最 ...

最新文章

  1. 06.学习笔记-用户信息管理之操作命令
  2. android 页面翻转进场动画_Android实现翻转及延迟动画效果
  3. python基本使用-Python time库基本使用方法分析
  4. mybatis maven 代码生成器(mysql)
  5. [项目更新] 集成RabbitMQ队列与EventBus总线
  6. c++堆栈溢出怎么解决_StackOverFlowError 常见原因及解决方法
  7. linux添加开机自启动脚本示例详解
  8. Mybaitis框架与Spring整合详解(三)
  9. Reflex WMS入门系列三十:不使用RF功能做上架
  10. SPSS——相关分析——Pearson简单相关系数
  11. 信息系统基础知识(笔记)
  12. .NET(C#)下的移动彩信MM7协议研究之路(二)
  13. 陈果《好的爱情》读书笔记
  14. xml 操作unity 的文档
  15. U盘病毒查杀并打补丁
  16. Android数据库操作
  17. 论文关于初学计算机的理解,计算机网络学习论文范文
  18. Nexus 7 二代 刷机
  19. windows下安装 Linux Ubuntu20. 04双系统
  20. linux grep命令例子,Linux中grep命令的12个实践例子

热门文章

  1. elastic-job动态任务配置
  2. Jenkins安装部署篇
  3. win7下wifi密码的保存路径
  4. java static 在java 中的使用。
  5. KeyMob具有手机广告优化的管理平台
  6. 让nginx支持文件上传的几种模式
  7. Notepad++ 使用心得
  8. 单行溢出文本显示省略号的方法(兼容IE FF)
  9. JAVA对象的值与引用
  10. excel vba 如何将日期周几转换成文字_Excel 从精通到入门