如何在Raspberry Pi上托管自己的网站

需要运营一个网站,但无法承担托管费用?

或者您可以尝试将Raspberry Pi转变为Web服务器,它能够运行基本的Web服务器软件。最重要的是,设置它很简单。

为什么在Raspberry Pi上托管网站?

将Raspberry Pi设置为Web服务器有几个很好的理由。

  • 托管成本很高
  • 您的台式电脑太昂贵,无法全天运行
  • Raspberry Pi具有非常低的能量足迹
  • Pi可以配置为便携式设备
  • 打击审查的可能性

无论您选择在Raspberry Pi上托管您的网站的动机是什么,它都可以在几分钟内完成。更好的是,你可以使用任何版本的Pi,甚至是Pi Zero。如果设备可以连接到互联网,您就可以在其上托管网站。

设置Raspberry Pi Web服务器硬件

从Raspberry Pi的可靠电源开始。您还应该将最新版本的首选Raspberry Pi发行版安装到高质量的SD卡上。

本指南中的步骤和屏幕截图用于使用Raspbian Stretch设置Raspberry Pi Web服务器。

与大多数服务器一样,您需要使用SSH访问Raspberry Pi Web服务器。在Linux和macOS中,您可以通过终端执行此操作。在Windows中,使用PowerShell通过SSH进行连接,或安装第三方工具。

设置无线网络和SSH

虽然您只需使用键盘和显示器就可以将Raspberry Pi用作Web服务器,但远程访问更简单。

最好的方法是在Pi上启用SSH并提前设置无线网络。如果您正在使用现有的Raspberry Pi安装,那么您可能已经完成了两项工作。当SD卡仍在PC中时,您可以配置SSH和无线网络。

首先确保您的SD卡在计算机的文件管理器中可见,并选择/ boot /目录。(在Windows中,这是SD卡中唯一可读的部分。)

接下来,在/ boot /目录窗口中,右键单击空白区域并选择New> Text Document。将文档命名为ssh,注意删除.TXT文件扩展名。当Pi启动时,它将检测ssh文件并启用此功能。

要通过SSH连接,您需要先启用无线网络。为此,请创建另一个文件,这次将其称为wpa_supplicant.conf。再次删除TXT扩展名。打开文件,然后复制并粘贴以下内容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_PASSKEY"
key_mgmt=WPA-PSK
}

粘贴后,编辑值以显示您的网络名称(SSID)和密码(PSK)。保存文件,然后安全弹出SD卡。在Raspberry Pi中更换后,启动。您应该能够使用Pi的IP地址通过SSH连接到Raspberry Pi。通过检查路由器的管理屏幕(查看设备文档)或通过简单连接键盘和显示屏来查找。

通过SSH设置,您可以随时远程连接到Raspberry Pi Web服务器。

将Raspberry Pi配置为Web服务器

在将HTML页面上传到Raspberry Pi之前,您需要配置服务器及其软件。为此,请安装Apache和PHP。这将使得能够提供用HTML和PHP编写的页面。

首先更新Raspbian:

sudo apt update
sudo apt upgrade

接下来,通过输入以下命令安装Apache及相关库:

sudo apt install apache2 -y

然后检查Apache是否正在运行:

sudo service apache2 status

如果服务器以绿色文本显示“活动(正在运行)”,则一切正常。

如果服务器关闭,请启动它:

sudo service apache2 start

在此阶段,您可以从浏览器浏览到Raspberry Pi的Web服务器。

如果您的Raspberry Pi上安装了浏览器,请在地址栏中访问此URL:

http://localhost

但是,如果您使用SSH,请从电脑浏览器(例如http://123.456.789.0)使用Raspberry Pi的IP地址。您应该看到安装Apache的确认。

您的Raspberry Pi现在已设置为基本Web服务器。您现在需要做的就是添加页面!

在Raspberry Pi上配置FTP

虽然您可以在浏览器中检查您作为Web服务器的Pi运行,但它提供的页面将非常基本。这是一个典型的占位符index.php文件,您必须使用自己的PHP或HTML文档替换该文件。

首先创建一个www目录并安装FTP软件:

sudo chown -R pi /var/www
sudo apt install vsftpd

安装FTP应用程序vsftpd(“非常安全的FTP守护程序”)后,您需要对配置进行一些更改。首先,在nano中打开配置文件...

sudo nano /etc/vsftpd.conf

...并进行以下权限/安全性更改:

首先,将anonymous_enable = YES更改为anonymous_enable = NO

然后,取消注释以下行(通过删除#符号)

#local_enable=YES
#write_enable=YES

这样可以进行线条的设置。最后将此行添加到文件末尾:

force_dot_files=YES

执行此操作将强制显示以“。”开头的服务器文件,例如非常重要的.htaccess文件。

按Ctrl + X保存并退出,用Y和Enter确认。

最后,重启FTP:

sudo service vsftpd restart

使用标准桌面FTP,您就可以连接到Raspberry Pi。将文件上传到/ var / www / html。

HTML还不够?Raspberry Pi还支持LAMP!

Raspberry Pi不仅能够提供基本的HTML页面。如果您希望MySQL支持PHP,则可以安装LAMP服务器配置。只需按照上面的安装步骤安装和设置Apache,然后添加安装MySQL紧接着PHP。

以下包安装MySQL和必需的PHP组件:

sudo apt install mysql-server php-mysql -y

安装完成后,您需要重新启动Apache:

sudo service apache2 restart

接下来,安装PHP本身:

sudo apt install php -y

再次,使用上面的命令重启Apache。您的LAMP服务器现已安装,可供您设置数据库驱动的PHP Web应用程序和网站。

与任何Web服务器项目一样,您应确定Pi是否适合您的需求。虽然可以设置WordPress在Raspberry Pi上运行,但添加大量插件和多次每日更新会使速度极慢。

您计划在Raspberry Pi上运行的网站应该充分考虑资源和软件要求。如有必要,可以使用数据库驱动的解决方案,您应该限制可以查看的页面数。

安全和技术考虑因素

当使用Raspberry Pi作为网络服务器时,你不太可能获得接近生产级别的速度。

但是,有一些方法可以提高性能,例如在USB硬盘驱动器而不是SD卡上设置服务器软件,以便通过常规读/写过程减少性能下降。或者,使用设备RAM进行临时读/写文件存储也是一种选择。当您决定如何使用非常小的Web服务器时,您可能希望更改这些内容。

虽然适合设置数据库驱动的PHP网站的测试版本,但Raspberry Pi的在线职责可能最适合一小部分静态页面。

请注意,如果您计划打开对Raspberry Pi作为连接互联网的Web服务器的访问权限,则需要使用设置路由器的静态IP地址。

最后,花点时间更改Raspberry Pi的默认密码。这可以通过SSH在命令行中完成,使用:

passwd

然后,系统将提示您输入并确认新密码。这样做会阻止任何熟悉Raspbian的人访问您网页的后端。

托管您自己的Raspberry Pi网站!

使用Raspberry Pi作为Web服务器的可行性相当大。使用电池组和移动互联网加密狗,您可以在世界任何地方托管一个紧凑的网站。

请记住,您需要做的就是:

  • 配置SSH和无线网络
  • 安装Apache(MySQL和PHP可选)
  • 安装FTP
  • 设置安全密码

通过设置静态IP地址或动态DNS服务,您的网站已准备就绪。如果您不希望从互联网访问它,只需托管家庭内联网

阅读 40