树莓派上的烧瓶网络服务器

在本文中,我们将研究在 Raspberry Pi 上设置 Flask 网络服务器。 为了本教程的目的,我们将保持简单且对初学者友好。 随意查找有关 Flask 的其他文章以进一步开发您的网站!

如何安装 Apache Ubuntu 上的 Web 服务器?

目录

安装 Python3、pip 和 Flask

首先,我们将安装 pip 和 Flask。 要安装这些,请通过 ssh 进入您的 Raspberry Pi 并运行以下命令:

sudo apt install python3-pip
安装点

现在安装 Flask 运行:

sudo pip3 install Flask
安装烧瓶

现在检查版本运行:

Flask --version
检查烧瓶版本检查烧瓶版本

托管您的 Flask 网络服务器

现在我们将编写 python 脚本。 您可以在任何您喜欢的地方编写脚本,我们将在主目录中进行。 此外,我们将使用 nano 编辑器,您可以随意使用任何您喜欢的编辑器。 运行以下命令:

sudo nano mywebserver.py

现在将打开一个新的 Nano 实例。 将以下代码复制粘贴到文件中。

	from flask import Flask

	app = Flask(__name__)

	@app.route("/")
	def hello():
		return "Welcome to Writwik's web-server!"

	if __name__ == "__main__":
		app.run(host="0.0.0.0", port=80, debug=True )


现在要运行服务器,只需粘贴以下命令:

sudo python3 mywebserver.py

您将看到一些输出,并且服务器将在 Raspberry Pi 的 IP 地址上运行。 现在打开一个服务器并输入树莓派的IP地址,你会看到我们在脚本里面写的文字。 此外,如果您仔细查看,您会在终端上找到 HTTP 请求。

在 Raspberry Pi 上运行的 Flask Web 服务器在 Raspberry Pi 上运行的 Flask Web 服务器

向服务器添加页面

在上一节中,我们只在我们的服务器上写了一行并托管它。 但是现在我们添加了多个页面来托管在我们的服务器中。 首先,我们需要导入 render_template 以提供 HTML 文件。 之后,让我们创建一个名为“home.html”的 HTML 文件。 这次我们将返回 render_template (‘home.html’)。

创建一个名为“templates”的新目录,并在该目录中创建“home.html”文件。 您可以通过这种方式托管自己的 HTML 文件,只需确保相应地更改文件名。

你的文件结构应该是这样的:

        /-------------
        mywebserver.py
        templates/
            |home.html
        -------------/    

您的新 Python 文件应如下所示:

    from flask import Flask, render_template

	app = Flask(__name__)

	@app.route("/")
	def hello():
		return render_template('home.html')

	if __name__ == "__main__":
		app.run(host="0.0.0.0", port=80, debug=True )

现在我们可以托管自己的 HTML 文件,让我们看看如何在这里托管多个页面。 对于我们添加的每个页面,我们必须指定路径。 为此,我们添加了一个新的@app.route。

为了简单起见,我们将路由“/about”添加到我们的 about 页面,请记住,我们必须在模板文件夹中创建另一个 about.html 文件,此外,我们将再次创建一个返回我们的新函数我们编写的 about.html 文件。

您的新文件结构应如下所示:

        /-------------
        mywebserver.py
        templates/
            |home.html
            |about.html
        -------------/ 

您的新脚本应如下所示:

    from flask import Flask, render_template

	app = Flask(__name__)

	@app.route("/")
	def hello():
		return render_template('home.html')
        
    @app.route("/about")
    def about():
        return render_template('about.html')

	if __name__ == "__main__":
		app.run(host="0.0.0.0", port=80, debug=True )

要访问关于页面,请像以前一样在 IP 地址中键入,但这次最后键入“/about”并按回车。 关于页面的 ip 应该如下所示:

https://192.168.29.XX/about

为了简单起见,我们只是在 HTML 文件中放置了一些标题和段落标签,您可以放置​​任何您喜欢的内容。 这是我们的 home.html 文件供参考:

    <h1>Hello</h1>
    <p>This is my home-page!</p>

和 about.html 供参考:

    <h1>About Page</h1>
    <p>This is the about page</p>

结论

现在您已经掌握了 Flask 网络服务器的基础知识,请随时查找 Flask 上的相关文章并设置您自己的家庭服务器! 一如既往,感谢您的阅读。

进一步阅读