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
ll pytho* / ls -li 
pytho*

2、配置项目:把代码从gitlab拉倒服务器

.ssh
.ssh
.ssh

3、安装虚拟环境:

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