vlambda博客
学习文章列表

ubuntu+flask+nginx搭建车牌检测服务

在 中,我们已经训练并保存了权重模型,接下来我们搭建车牌检测服务。

一、购买服务器

阿里之前搞活动,我买了一台1核2G的ubuntu20.04服务器,买了一个域名,申请了阿里云免费的SSL证书,安装nginx并配置nginx.conf。

二、上传代码

我们把训练好的模型权重及代码通过filezilla上传至plate目录。

三、搭建虚拟环境

ubuntu20.04自带python3.8,我们有时候需要搭建好几个服务,每个服务最好有自己的独立的环境比较好,所以我们安装一下python的虚拟环境,当前目录为plate下输入如下命令:


sudo pip install virtualenvvirtualenv venvsource venv/bin/activatepip install -r requirement.txt

四、搭建uWSGI

我们需要uWSGI作为web服务器,首先新建plate.ini配置文件,内容如下:
[uwsgi]module = wsgi:appmaster = true processes = 5 http=127.0.0.1:8090#socket = 127.0.0.1:8090chmod-socket = 660 vacuum = truepidfile =uwsgi.piddie-on-term = true

请求方法:

app = Flask(__name__)@app.route('/ai/plate/predict', methods=['POST'])def predict():  ...if __name__ == '__main__':    initmodel() app.run()

启动命令:

uwsgi -d --ini plate.ini

我们还需要改下nginx.conf,如下:

upstream ai{   server 127.0.0.1:8090;}
location /ai {       root /root/websites/ai/plate;       proxy_pass  http://127.0.0.1:8090; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; limit_req zone=one burst=10 nodelay;}

车牌检测测试页面:https://www.erbing.vip/html/index.html,

测试小程序: