近期做了一个代购管理平台,类似于微商后台管理系统,部署在了腾讯云上,后因为域名原因迁移到了阿里云。迁移过程部署的具体细节忘记了,导致又花了一点时间解决,于是乎特意在此总结下部署经验。
部署环境:Centos7.3、Python2.7、Nginx、Uwsgi、Mysql
1、基本环境配置
使用yum源安装如下资源(注意以下开头yum和pip区别):
centos7自带mariadb,仅需保证启动了即可:
安装uwsgi服务器,同时需要安装如下三个库来支持:
2、安装Flask应用依赖包
由于我的应用中使用到了MySQLdb,于是乎我还需要以下安装:
3、配置代理服务器
3.1在你的根目录下创建一个uwsgiconfig.ini文件
我的项目采用的是nginx反向代理多个二级域名,并将对应的网络请求转发给相应uwsgi,来达到一个云服务器通过多个二级域名来访问多个flask项目的效果。
上传你的flask项目到云服务器上,并在项目根目录下创建一个uwsgiconfig.ini文件。
图例:
注:flask项目里启动host要使用0.0.0.0
重点来了,uwsgiconfig.ini中的内容应该如下,根据自己项目对照修改(删掉其中的注释):
3.2修改nginx的配置文件nginx.conf
到目录/etc/nginx下可以找到nginx.conf文件,里面内容比较乱,找到相应位置修改成如下内容:
当你的云服务器上需要再运行一个flask项目时,仅需根据以上步骤,在项目根目录下创建uwsgi配置文件,同时在nginx.conf中加入如下代码:
至此,环境部署完毕
4、启动项目
可以通过如下语句查看进程情况:
杀死进程:
现在访问公网ip应该可以访问到你的flask应用了。
注:如果配置完后,出现如下问题
可以采用:
同时在uwsgiconfig.ini文件中加入:
重启uwsgi即可
如果本有对你有帮助,记得点赞哦。