机器学习项目部署到云服务器

2023-03-12 20:28:00
pjd
原创 364
摘要:机器学习 项目部署

开发完成的flask或django项目

1、导出本地环境类库版本文件:

pip freeze > requirements.txt

2、在项目上级目录中打包项目

tar zcvf {{项目文件名}}.tar.gz {{项目文件名}}

将打包的文件上传至云服务器,并解压文件(选择更改文件目录)

3、进入服务器项目目录,新建虚拟环境,并安装包

#新建环境
python3 -m venv {{环境名}}
#激活环境
source {{环境名}}/bin/activate
#进入项目文件中,安装包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

4、项目目录中启动服务


#临时
python3 app.py
#长期
nohup python3 app.py 1>log.log 2>&1 &
显示结果:
[1] 711131
#查看是否运行
more log.log
#显示如下:
nohup: ignoring input
Loading models
 * Serving Flask app 'load_predict'
 * Debug mode: off
#远程服务器测试是否正常访问
curl http://127.0.0.1:5010/predict
显示结果: 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>热网负荷预测</title>
</head>
<body> 
>>>>>>>>>>>>>>>>>>>>>>>省略了  

5、开启防火墙

服务器开启防火墙,打开服务的端口,等一下就可以访问了。


#重启防火墙
firewall-cmd --reload
返回结果:
success
#查看防火墙状态
firewall-cmd --state
#查看防火墙端口情况是否在打开列表中
firewall-cmd --zone=public --list-ports
#关闭防火墙
systemctl stop firewalld
#防火墙设置端口为外网防问
firewall-cmd --zone=public --add-port=5010/tcp --permanent
# --zone 作用域
# --add-port=5121/tcp 添加端口,格式为:端口/通讯协议
# --permanent 永久生效,没有此参数重启后失效

最后,如果你想生产使用,还是用nginx 和 wsgi部署一下吧。