机器学习项目部署到云服务器
- 2023-03-12 20:28:00
- pjd
- 原创 417
开发完成的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 永久生效,没有此参数重启后失效