centOS+uwsgi+nginx 部署flask项目,问题记录

用flask做的项目想要部署到centOS系统上,填了一些坑,终于成功了,记录一下遇到的问题:

此次部署主要是按照这个博客进行的 https://www.cnblogs.com/Ray-liang/p/4173923.html,感谢大神,但是博客是在Ubuntu系统上部署,跟centOS还是有一些区别的,下面记录的就是问题和区别啦

1、首先是这些软件安装的问题,Ubuntu似乎用apt-get命令就能很轻松的下载安装这些组件,但是centOS需要用yum 下载并手动安装,而且还要自己下载软件的依赖环境,这里就比较麻烦,费了一些时间

2、uwsgi的配置中,我按照博客填写的绝对路径没有成功,之后换成config.ini所在目录的相对路径填写的chdir(或不填)和wsgi-file就成功了,期间遇到的问题通过查找文档解决了,有时候文档还是比博客靠谱些,因为它会从头到尾介绍这个东西,遇到问题访问不了的时候,先把socket = 。。。换成http = 。。。这样其他部分没问题的话就能用浏览器访问了

3、接下来就是supervisor遇到的问题,centOS中启动supervisor的命令与博客中不一样 应该用supervisord -c -配置文件的路径,运行之后报错,之后通过多方查找在配置文件中加入[supervisor](内容可以为空)这个section即可,主要还是英文的报错内容没有看懂,导致这个问题解决了很长时间,还是可以看文档来增进自己的理解,后来了解到这个软件并不是必须的,只是能比较好的管理uwsgi的进程,而且能够自动重启,好处多多

4、最后轮到了nginx,centOS中安装nginx还是和Ubuntu中不太一样的,首先安装的时候就遇到了问题-没有提示失败,但目录中没有nginx,无奈之下又重新下载安装了其他版本的nginx并指定了安装目录,就安装成功了,其次nginx的默认配置文件位置和名字和Ubuntu中的也不一样,centOS的默认配置文件是在,/usr/local/nginx/conf/nginx.conf 这里,nginx的启动也是默认读取这个文件的信息,启动方式也与博客中的不同,是直接在nginx/sbin目录下输入命令 ./nignx 即可,修改配置重启可以用 ./nginx -s reload。遇到问题可以先不用管项目,先用nginx的默认示例来进行调通,如果示例都调不通的话,就要考虑是否是服务器的端口没有开放,百度之后将防火墙关闭或者开放所有端口(iptables  -F)就可以访问了,之后可以一步一步排查问题,将uwsgi的配置修改之后要记得重新启动,因为有supervisor的守护,杀掉uwsgi进程它就会自动重启啦,用kill -9 -端口号,也因此,想要关闭uwsgi的话需要先把supervisor关掉才可以,切记

5、最后解决了所有问题,终于能看到我的项目了

猜你喜欢

转载自www.cnblogs.com/shuchengxiang/p/9118925.html