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:载入最新的配置文件

 

posted @   一路向北321  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· .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
点击右上角即可分享
微信分享提示