本文介紹如何在 Raspberry Pi 上設置 Flask Web 服務器。本教程將保持簡單和初學者友好。 隨意查找其他 Flask 文章以幫助進一步開發站點!

如何在 Ubuntu 上安裝 Apache 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.html 文件。此外,再次創建一個返回 Write 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”並按 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 服務器