通過pip安裝必要的包,比如flask、opencv-python、opencv-contrib-python、plotly等。
通過gunicorn來啟動flask應用,使用方法見:flask下 gunicorn在Python中的使用。
Gunicorn-配置詳解(注意這個地方踩了一個坑,主要是因為自己對網絡編程不熟:gnicorn會使用多線程,而自己編寫的程序中使用的是傳統的Python的全局變量,而沒有引用flask的那些與request、context相關的全局變量,導致在程序運行時每點一下按鈕,會出現不同結果。)
一個較詳細的部署教程見:通過Gunicorn部署flask應用(阿里云服務器:Ubuntu 16.04)中間出現了以下幾個問題,并給出解決方法:
(1)導入opencv時,報錯:ImportError: libSM.so.6: cannot open shared object file: No such file or directory
ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
原因是:服務器在安裝時沒有安裝圖形庫。解決方法:apt-get install libsm6 libxrender1
參考見下面鏈接:服務器opencv-python使用問題及解決
(2)在執行到imgproc時,出現:TypeError: Expected cv::UMat for argument 'M',懷疑是python2.7的鍋,所以重新配置了pipenv,使用python3環境就好了。以下是具體配置過程:
首先需要升級一下,否則阿里云找不到pip3:apt-get update
然后安裝pip3:apt-get install python3-pip
然后使用pip3安裝pipenv pip3 install pipenv
使用pipenv創建虛擬環境時,指定python版本:pipenv --python 3 install
(3)啟動了flask服務器,但是外部無法連接,總是“time out”:
這是因為阿里云默認只開啟幾個端口,如果需要額外的端口,需要自己去防火墻那開啟。
參考見:在ecs上啟動flask應用后,無法通過公網ip訪問網站。
以上就是如何部署阿里云服務器的相關方法,希望能幫助到大家。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站