flask+gunicorn+supervisord+nginx发布多个项目

flask+gunicorn+supervisord+nginx发布多个项目

        最近刚开始学flask,仿照写了2个小项目练手,使用flask+gunicorn+supervisord+nginx的方式发布到自己的阿里云服务器上,然后自己总结了一下,与各位初学者分享,有什么不对的,可以留言给我(高手勿喷)。

一、配置supervisord

        supervisor主要用于管理我们的应用进程,安装supervisord不多说,按照官网介绍来就行了,这里就贴一下我的配置,在/etc/supervisor/supervisord.conf中配置如下:

supervisord.conf

开头带;表示注释,如果需要相应的配置文件起作用,可以去掉;

        /etc/supervisor/xxx_0306_new.conf这个文件就是我的supervisord的项目配置文件,包含2个项目,直接贴出来:

xxx_0306_new.conf

其中,项目一是一个django项目,项目启动时绑定本地8000端口;项目二 是一个flask项目,项目启动时绑定本地9000端口,项目都使用了pipenv虚拟环境,使用命令:supervisorctl,发现两个项目都已经启动,如下:

supervisorctl

二、配置nginx

1、nginx配置多个server,这里可能需要不同域名的支持,我的域名还在申请中,暂不能使用,只能通过nginx监听不同的端口实现。

首先,我们在目录/etc/nginx/中建立新的目录vhost,vhost目录用于存放我们2个项目nginx的配置文件;

再次,我们在/etc/nginx/nginx.conf这个nginx默认的配置文件中使用include将我们的/etc/nginx/vhost/目录引入即可(include放到http模块中)。

项目一的nginx配置,监听8001端口


项目二的nginx配置,监听80端口


nginx配置中的include

三、启动supervisord

        使用命令 supervisord -c /etc/supervisor/supervisord.conf 启动supervisord,使用supervisorctl命令打开supervisord的客户端,管理项目的进程。

四、启动nginx服务器

        使用nginx -c /etc/nginx/nginx.conf 启动nginx服务器

五、地址栏中输入地址,查看是否配置成功

完毕!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。