irpas技术客

python项目服务器配置部署docker/nginx/gunicom/flask/supervisor/anaconda_古斯塔斯hugh

未知 3616

近期被交接了一些运维类的工作,正好赶上项目上生产,寻思直接在dev环境的docker里装好,cp过去改改配置就可以了,记录一下。 项目结构:flask写的服务,nginx负载均衡,gunicom配置启动服务,supervisor服务管理,anaconda环境管理,ubuntu镜像版本1604,ngin镜像版本1.15.8 项目架构搭建 docker安装ubuntu的一部分准备工作已经做完(更新系统编码,常用命令,安装个python,ananconda等),而且每个项目可能都不一样,不再写了。 一、安装supervisor(非root用户也可安装) supervisor.conf配置示例:

首先进入docker容器 切换到base环境 安装supervisor 生成默认配置文件 mkdir ~/supervisor echo_supervisord_conf > ~/supervisor/supervisord.conf 修改配置文件supervisord.conf 分号;开头的都是注释不用管, 只需要修改几个地方 启动supervisor 一切正常 二、安装gunicom并实现supervisor对其监控 切换虚拟环境安装gunicom gunicorn还需要安装几个其他的库,分别是 pip install greenlet # 使用异步必须安装 pip install eventlet # 使用eventlet workers pip install gevent # 使用gevent workers

编写gunicom项目启动文件 gunicom_config.py的配置项 常用配置参数及说明

编写supervisor的中项目启动文件 在supervisor目录下创建目录supervisor.sock并配置权限 创建目录conf.d 进入目录创建配置文件Spider.conf 配置说明 配置示例 supervisor常用启动命令 btw:gunicorn的普通启动命令 gunicorn -w 2 -b 0.0.0.0:8083 interface:app -w:worker数量 -b:配置端口和ip interface:app:interface.py文件内的app实例 重载supervisor配置文件并启动服务 两个端口已经启动成功了 三、安装nginx 首先说明:为了方便nginx移植其他环境,打算直接在docker服务器拉一个nginx镜像,并把配置文件写到宿主机。 首先拉取一个镜像 sudo docker pull nginx:1.15.8 这是下载好的镜像 将镜像文件保存到本地 重新加载本地镜像 首先我们在宿主机上创建这三个目录 创建一个临时容器 将临时容器中的配置文件复制到宿主机中 删除临时容器 创建运行nginx镜像 nginx常用命令 四、配置负载均衡

在宿主机的~/Docker/nginx/conf下创建ai.nginx.conf 配置如下 upstream 和server是一组,可以添加多组,配置多个端口与监听的负载 用docker stop containerID 和docker rm containerID 停止并删除原来的容器 将ai.nginx.conf也挂载到新容器内 测试一下,8083端口监听成功


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。