樹莓派上的燒瓶網絡服務器


本文介紹如何在您的 Raspberry Pi 上設置 Flask Web 服務器。本教程將使其簡單且對初學者友好。 隨意查找更多關於 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 Web 服務器

現在讓我們編寫一個 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 文件。還要創建一個返回Written 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 )

要訪問 about 頁面,請像以前一樣輸入 IP 地址,但這次在末尾鍵入“/about”並按 Enter。 關於頁面 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 Web 服務器的基礎知識,請隨時查找有關 Flask 的相關文章並設置您自己的家庭服務器。感謝您的閱讀。

參考

  • 如何在 Ubuntu 上安裝 Flask
  • 將您的 Raspberry Pi 升級到 Web 服務器