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

raspberry pi

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

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

Raspberry Pi as a web server

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或最新版本。 解压缩或解压缩下载的文件并打开它。 您将收到以下提示:

Pi Filler prompt

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

USB card reader prompt

将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]所示:

Raspberry Pi software configuration setup

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

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

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

Choose boot option

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

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

$ sudo重新启动

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

Raspberry Pi desktop

进入桌面后,打开终端并输入以下命令以更新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远程桌面”的程序。 打开它。 您应该看到以下内容:

Microsoft Remote Desktop

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

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

Setting up a remote connection

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

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

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

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

Raspberry Pi desktop

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

静态本地IP地址

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

 $  sudo ifconfig 

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

 $  netstat -nr 

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

Setting up a local IP address

累积记录应如下所示:


   
   
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的桌面。

Raspberry Pi desktop

做得好。 现在可以从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]

PuTTY configuration

下载并运行 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值