通過pip安裝必要的包,比如flask、opencv-python、opencv-contrib-python、plotly等。
通過gunicorn來啟動flask應(yīng)用,使用方法見:flask下 gunicorn在Python中的使用。
Gunicorn-配置詳解(注意這個(gè)地方踩了一個(gè)坑,主要是因?yàn)樽约簩W(wǎng)絡(luò)編程不熟:gnicorn會使用多線程,而自己編寫的程序中使用的是傳統(tǒng)的Python的全局變量,而沒有引用flask的那些與request、context相關(guān)的全局變量,導(dǎo)致在程序運(yùn)行時(shí)每點(diǎn)一下按鈕,會出現(xiàn)不同結(jié)果。)
一個(gè)較詳細(xì)的部署教程見:通過Gunicorn部署flask應(yīng)用(阿里云服務(wù)器:Ubuntu 16.04)中間出現(xiàn)了以下幾個(gè)問題,并給出解決方法:
(1)導(dǎo)入opencv時(shí),報(bào)錯(cuò):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ù)器在安裝時(shí)沒有安裝圖形庫。解決方法:apt-get install libsm6 libxrender1
參考見下面鏈接:服務(wù)器opencv-python使用問題及解決
(2)在執(zhí)行到imgproc時(shí),出現(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)境時(shí),指定python版本:pipenv --python 3 install
(3)啟動了flask服務(wù)器,但是外部無法連接,總是“time out”:
這是因?yàn)榘⒗镌颇J(rèn)只開啟幾個(gè)端口,如果需要額外的端口,需要自己去防火墻那開啟。
參考見:在ecs上啟動flask應(yīng)用后,無法通過公網(wǎng)ip訪問網(wǎng)站。
以上就是如何部署阿里云服務(wù)器的相關(guān)方法,希望能幫助到大家。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站