flask_12:API服务器架设笔记(阿里云服务器 + flask + nginx + uwsig)
sudo apt-get install python-pip
下面这个博客详细讲述了将一个API服务部署到阿里云服务器的过程
API服务器架设笔记(flask+nginx+uwsig)
一、下面是部署海外投放监测链接服务的流程:
1、申请新服务器后,安装python、pip包:
安装python: 略
安装pip:sudo apt-get install python-pip
查看python版本:python -version
查看一下Python可执行文件的位置:which python (一般为:/usr/bin/python)
查看本地安装了几个python: 先:cd /usr/bin 然后:ll pytho* / ls -li
pytho*
2、配置项目:把代码从gitlab拉倒服务器
先把服务器的密钥存到gitlab上,再拉代码到服务器
先查看用户主目录是否有.ssh
目录,如果没有:
ssh-keygen -t rsa -C "wanghailin@huixuanjiasu.com"一路回车,就会创建.ssh
目录
然后把.ssh
目录把id_rsa.pub文件中的密钥添加到gitlab上
3、安装虚拟环境:
安装virtualenv: pip install virtualenv
在项目目录下安装虚拟环境: virtualenv venv
安装指定python版本的虚拟环境:virtualenv
-p PYTHON_EXE, --python=PYTHON_EXE 环境名称
eg:virtualenv -p /usr/bin/python2.6 ENV
virtualenv --python=3.7 venv
激活虚拟环境:
source venv/bin/activate
退出虚拟环境:deactivate
删除虚拟环境:rm -rf venv
4、安装依赖包:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple (清华镜像)
如果安装源没有对应的版本,还需要修改依赖的版本号
安装flask_mongoengine:
pip install rednose
pip install nose
pip install coverage
pip install flask_mongoengine
5、配置Nginx(运维操作,待学习)
6、配置supervisrod(运维操作,待学习)
7、添加我们要管理的进程的配置文件:一般都写到supervisord.conf 文件下
vim写入文件的时候报错:Can't open file for writing Press ENTER or type command to continue。报错原因:没有权限 解决方法:命令前加sudo 继续报错:Sorry, user op is not allowed to execute '/usr/bin/touch ad_monitor_oversea.conf' as root on toufang-oversea-01. 报错原因:还是没有权限 解决方法:联系运维加权限
写入supervisrod配置文件后,需要确认日志目录已经创建,没有需要手动创建,否则报错。
# 停止某一个进程,program_name 为 [program:x] 里的 x
supervisorctl stop program_name
# 启动某个进程
supervisorctl start program_name
# 重启某个进程
supervisorctl restart program_name
# 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理)
supervisorctl stop groupworker:
# 结束 groupworker:name1 这个进程 (start,restart 同理)
supervisorctl stop groupworker:name1
# 停止全部进程,注:start、restart、stop 都不会载入最新的配置文件
supervisorctl stop all
# 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl reload
# 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
supervisorctl update
切记:后续更新supervisrod配置文件后,需要update / reload,restart只能重新,不能更新。
8、测试监测链接是否能接收,http、 https 2个都要测试
二、celery的supervisor的部署
1、先把启动celery worker的进程配置文件更新好
2、把celery新应用的代码pull 到服务器上
3、supervisorctl reload:载入最新的配置文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App