參考這篇博客:
https://blog.csdn.net/smilehappiness/article/details/117337943
1.首先查看python的版本:
python -V
2.安裝python:
3.安裝虛擬環境
報錯1:
解決辦法:export CURL_CA_BUNDLE="/etc/pki/tls/certs/ca-bundle.crt"
https://3ms.huawei.com/km/blogs/details/14442367
https://3ms.huawei.com/km/groups/2032579/blogs/details/8264445
報錯2:
解決辦法:在命令後面指定url
https://3ms.huawei.com/km/blogs/details/11041183
最終執行成功的界面:
pip3 install virtualenv --trusted-host mirrors.tools.huawei.com -i http://mirrors.tools.huawei.com/pypi/simple
4 爲項目創建虛擬環境
virtualenv /data/workflow_test/python_venv
5
切換到虛擬環境所在的目錄
cd /data/workflow_test/python_venv
6 啓用虛擬環境
執行命令:source ./bin/activate (deactivate是關閉虛擬環境)
7安裝依賴清單裏的庫
這個依賴庫要從本地獲取:在local項目中執行pip3 freeze >requirements.txt,就可以導出本地項目中所有的依賴
執行命令: pip3 install -r /data/workflow_test/python_venv/requirements.txt --trusted-host mirrors.tools.huawei.com -i http://mirrors.tools.huawei.com/pypi/simple
8 列出當前虛擬環境所安裝的依賴庫
執行命令: pip3 list
9 啓動python服務
在虛擬環境中進入項目中
使用以下命令,啓動python服務:nohup python workflow_api.py
10 linux中部署的python項目 找不到文件夾 No module named
解決方法參考:https://blog.csdn.net/lovetechlovelife/article/details/114991432
這種情況下的話,我們就需要讓Python解釋器知道我們的項目根目錄(或者說根module)的位置,才能讓程序正確地執行。
具體的操作就是,在環境變量配置文件中配置PYTHONPATH(比如,我們的項目在Linux上的位置爲:/data/workflow_test/workflow):
編輯環境變量配置文件: vim ~/.bash_profile
在文件末尾追加如下兩行,並保存:
# 注意這裏是Python項目根目錄的上一級目錄
export PYTHONPATH=/data/workflow_test/workflow
退出保存:qw
使配置立即生效:source ~/.bash_profile
通過上面的配置之後,再執行此項目下的.py文件就可以正常運行了。
11 查看已經運行的python服務:
ps -ef|grep python
12
項目中存在能ping通IP地址,但是打不開web應用程序,這時需要測試端口能否ping通。
13
telnet測試遠程5000端口連接失敗,可能是因爲以下原因之一:
1. 確認遠程服務器是否已經開啓了5000端口,並且允許外部訪問。
2. 確認本地網絡是否存在防火牆或者網絡代理,可能會導致連接失敗,需要將其關閉或者設置允許訪問。
通過以下命令可以查看目標機器的5000端口是否開啓: ``` netstat -l | grep 5000 ```
如果沒有開啓,可以使用以下命令開啓: ``` systemctl start sshd ```
這將啓動遠程登錄服務,並開啓5000端口。
要確保目標Linux主機開啓了5000端口,可以使用以下命令: ```netstat -tuln | grep 5000 ```
14
flask api在遠程服務器啓動後 Running on http://127.0.0.1:5000
沒法訪問的問題
https://blog.csdn.net/xys2333/article/details/109027041
啓動成功後截圖:
15 postman進行端口測試的時候繼續報錯,項目中用的是sqlite3的數據庫
解決辦法:確保您的flask應用程序有權限寫入數據庫文件。可以使用chmod命令更改文件權限,例如:`chmod 777 your_database_file.db`。