熱線電話:13121318867

登錄
首頁精彩閱讀用 Python 寫的 web 頁面,如何讓所有人都能訪問?
用 Python 寫的 web 頁面,如何讓所有人都能訪問?
2021-11-08
收藏

來源:早起Python

作者:劉早起

大家好,我是早起。

本文將介紹如何在服務器上配置你的項目,以下教程基于小白視角講解,適用于任何Python腳本(爬蟲、web、數據分析、自動化等都行)

同步環境

其實整體思路就是,在本地開發,然后在服務器配置和你本地一樣的環境,并將全部項目文件上傳到服務器,之后就像部署遠程 Jupyter Notebook 一樣,使用 nohup 命令將程序掛在后臺即可。

所以假設你現在已經在本地寫好你的網站下面可以將你本地開發用到的庫整理到 requirements.txt 中(可以通過pip freeze > requirements.txt)并ssh連接上服務器之后,執行下方命令

pip install -r requirements.txt 

但如果你在服務器上安裝了 anaconda 的話,更多情況下,只需要進入服務器執行 pip install pywebio 即可。

現在,你的服務器開發環境就和本地一致了,下一步自然是將整個項目文件同步到服務器,使用 git 是比較方便的方法,使用命令行命令是常見的方法,但是對于大多數小白來說,通過 ftp 軟件點點可能更方便。

所以下面是在 mac 上使用 Termius 的同步文件過程(Windows 可以用 filezilla)首先打開軟件

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

點擊 sftp 并選擇一個服務器,之后輸入你的服務器賬號密碼進入你的服務器文件夾(默認root目錄下),然后創建一個新的文件夾用于你的項目

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

接下來只要雙擊進入你創建的文件夾,并將你本地的整個文件夾拖入,等待上傳完畢即可。

掛載程序

現在,你的服務器有和你本地一致的開發環境與完整的項目文件,下面讓我們把它啟動起來。

首先還是通過ssh工具連上服務器,之后cd進入剛剛的新建的目錄,比如我的文件夾名稱為aliyun,我的命令就是

cd aliyun

接下來同樣適用 nohup 啟動并將腳本掛在后臺執行即可,例如我的腳本為 aliyun.py,我的命令就是

nohup python aliyun.py &

這樣就將該命令,掛在后臺執行了,最后一步同樣是打開短端口,例如你在 PyWebIO 中使用的端口是 8888 就要去阿里云后臺防火墻/安全組開放這個端口

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

至此,你就可以通過你的公網IP:端口,訪問你的web項目,還有一個常見的問題,如何關閉這個端口/程序?

我們可以通過端口反查進程號

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

也可以根據命令查找進程pid(ps -ef|grep python

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

然后將對應的進程kill掉,并在修改完代碼后重新啟動即可,這些就屬于運維相關知識,網上資料很多,感興趣的可以自己查閱。

彩蛋 - 自定義頁腳

最近很多人問,怎么修改默認頁面中頁腳的顯示文字,或者去掉默認頁面的Powered by PyWebIO

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

就像我的頁面一樣,顯示早起Python,并且點擊跳轉到我設置好的頁面

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

其實稍微對web開發懂一點的,都會知道這是額外加入了html元素,既然沒有修改的命令,說明這個html肯定是寫死在某個文件夾中。

在mac下,我們可以打開anaconda安裝目錄,并根據下面的路徑中找到 index.html

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

之后使用任意代碼編輯器修改框中部分即可

用 Python 寫的 web 頁面,如何讓所有人都能訪問?

在 Windows 或者 centos 下也是類似,找到 pywebio 對應的目錄,修改對應文件即可,大家可以自己研究!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢