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