flask服务部署到云服务器上,方便外网进行请求服务
问题描述
原因分析:直接将flask工程进行打包发送到CentOS上可能导致版本不匹配问题,或者是自己的写的模块无法使用
模块无法使用:例如出现 “No model name ’ ‘ "
解决方案:
部署Flask解决模块无法使用的问题,可以将无法引用的模块,复制到user下的相应的python版本下的lib文件中,就可以解决此问题。
引用云服务器上已有的python版本
可以使用pycharm中的ssh连接,进行服务器的连接
在项目工程中,进到相应的python interperter中
点击ADD键,添加新的环境 host 为公网ip userName 为root(默认)
输入密码后,熟悉的可以直接在python interpretrer中填写入python版本(云服上的python版本)
选择导入的文件目录
选取完毕,导入相应的第三方库(requirements.txt)
配置完成相应的服务器的python环境
更改代码
通过ifconfig获取云服务器上的内网ip,更改相应的代码
app.run(host="", port= ) # host为内网ip,port为开放的接口端口
使用的端口最好为10000以上,并且需要到阿里云控制台进行端口的开放和控制面板的端口开放。
运行代码
点击Edit,设置相应的环境
点击添加,找到python
重新命名开发的环境,在script path中选择app.py文件
可以成功运行
右键工程,选择上传
开启服务
通过XSheel,进入到控制面板,通过命令到工程所在的文件中,通过命令进行服务器的开启和关闭
python3 app.py # 通过linux命令,进入到工程中的运行文件的同级目录中,该命令只能随着窗口执行 # 如果需要后台执行 nohup python3 app.py & # & 取地址符号不可以忘记 # 关闭后台操作 lsof -i tcp:端口号 #通过linux命令,查找后台占用的端口号 kill -9 PID码 # 关闭该端口
完成



