ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

django/flask+gunicorn+supervisor+nginx部署

2020-11-01 06:00:27  阅读:217  来源: 互联网

标签:gitlab supervisor gunicorn 编译 flask 配置 redis nginx 安装


最近进行了两次基于python的服务环境部署,现总结一下,以免忘记:

1、操作系统:centos7.x

2、部署经过:

【1】安装python3:下载python3安装包,解压,配置,编译和安装。这个安装过程还比较顺序,但也因系统自带python2的原因要进行区分,以及环境变量添加,软链接的建立等原因花费较长时间。

【2】因为django/flask、gunicorn以及supervisor都是在项目中的虚拟环境下安装的,所以系统环境就不用手动安装了。

【3】安装nginx,这个是相当折腾,首先因为我的flask项目是迁移另外服务器的环境过来,所以想保持两个环境完全一样。第一次安装的时候都按照网上教程下载,解压,配置(默认配置),编译和安装,安装好后发现配置与待迁移服务器不同,缺少一些第三方模块,网上教程都是要重新加配置参数,编译安装,但利用nginx -V获取待迁移服务器配置重新在新的服务器上进行配置时,发现各种报错,没办法只能缺啥补啥,这个过程相当磨人,经过一顿猛搜终于安装成功。然后是配置nginx.conf,配置时发现原配置里还链接了好几个.conf,真是感觉怎么复杂怎么来,没办法,原样照抄,都拷贝过来,再逐一修改。

【4】因为我的项目都是用公司建的gitlab进行代码管理,所以我还要装一个CI/CD的持续集成环境。首先要在目标服务器上安装gitlab-runner,安装过程都差不多,下载,解压,配置,编译和安装,然后是注册,要输入gitlab的url和token等参数,最后在项目中修改自己的部署脚本.yml文件。

【5】安装mongodb,安装过程比较顺利,安装完成后还需要进行用户密码等的配置,需要建立3个用户admin、root和自己的数据库用户,用到的命令mongo,use db, db.createUser, show users, show dbs, show collections等。最后测试连接字符串:mongodb://username:password@localhost:27017/dbname,记得修改你项目中的数据连接配置。

【6】安装redis,redis安装没什么问题,就是安装好后,需要将redis改为服务,并后台启动,开机启动等配置。要在system目录下新建redis.service文件。

【7】调试及测试。

3、总结:

【1】部署过程要熟悉centos的各种命令,比如:yum包管理器命令,whereis、find查找命令,新建文件touch,新建文件夹mkdir,移除文件或文件夹rm,重命名mv,python虚拟环境的创建、激活、退出激活等,nginx服务的启动,配置重载,停止等操作,chmod提示权限,chown改变所有者,添加用户和用户组groupadd、useradd

【2】nginx安装配置最为复杂,特别是安装第三方依赖包的过程,其次配置conf也比较麻烦,另外,gitlab-runner在运行脚本时会提示各种没权限,需要在su root中添加gitlab-runner用户的免密操作权限。

标签:gitlab,supervisor,gunicorn,编译,flask,配置,redis,nginx,安装
来源: https://www.cnblogs.com/python-xuehb/p/13908496.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有