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