用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 = 0.0.0.0:端口 这样其他部分没问题的话就能用浏览器访问了

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、最后解决了所有问题,终于能看到我的项目了

centOS+uwsgi+nginx 部署flask项目,问题记录的更多相关文章

  1. 使用Flask+uwsgi+Nginx部署Flask正式环境

    环境准备 在开始正式讲解之前,我们将首先进行环境准备. Step1:安装Python,pip以及nginx: sudo apt-get update sudo apt-get install pyth ...

  2. 通过Nginx部署flask项目

    用Flask开发之后,很多人,喜欢用nohup python manage.py & 这样的形式,放到后台运行,其实这样只是个发开模式,很简陋,无法支持并发,进程监控等功能.所以采用nginx ...

  3. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  4. ubuntu18+uwsgi+nginx部署django项目

    更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...

  5. uwsgi + nginx 部署python项目(一)

    uWSGI uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uws ...

  6. uwsgi + nginx 部署python项目(二)

    实现负载均衡 开启两个服务器,nginx负责分发请求到两个服务器,以减轻单个服务器负担. 配置uwsgi服务器 在a项目目录下生成uwsgi.ini文件,在b项目目录下生成uwsgi.ini文件,如何 ...

  7. vue+uwsgi+nginx部署luffty项目

    在部署项目之前本人已经将前端代码和后端代码发布在了一个网站上,大家可自行下载,当然如果有Xftp工具也可以直接从本地导入. django代码 https://files.cnblogs.com/fil ...

  8. uwsgi+nginx部署django项目

    1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2  ...

  9. Ubuntu+Django+uWSGI+Nginx部署Django项目

    安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...

随机推荐

  1. UVA1482 Playing With Stones —— SG博弈

    题目链接:https://vjudge.net/problem/UVA-1482 题意: 有n堆石子, 每堆石子有ai(ai<=1e18).两个人轮流取石子,要求每次只能从一堆石子中抽取不多于一 ...

  2. Spring Boot2.0之 整合Zookeeper集群

    普通的连接: pom: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...

  3. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...

  4. ubuntu nginx 安装 certbot(letsencrypt)

    https://certbot.eff.org 到上面网站按照步骤安装certbot, 安装完成后,certbot 生成证书有两种方式 第一种:standalone模式,certbot 会启动自带的n ...

  5. Xamarin.Forms初始

    前言 Xamarin.Forms 为 .NET 开发人员提供一个完整的跨平台 UI 工具包. 在 Visual Studio 中使用 C# 生成完全本机的 Android.iOS 和通用 Window ...

  6. JS倒计时,距离某一日期还有多少时间

    JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离x年x月x日还有x天x小时x分钟x秒,如果给定时间比当前时间更早,则显示为距离2012-9-30已过去1天22小时26分30秒的格式,如果给定 ...

  7. SVN 如何更换IP地址

    一.进去项目空白处. 二.点击右键TortoiseSVN. 三.选中Relocate. 四.弹出框如下: 把原来的IP地址更换成新的IP地址,再点击OK就可以了.

  8. bzoj 2962 序列操作——线段树(卷积?)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2962 如果 _,_,_,…… 变成了 (_+k),(_+k),(_+k),…… ,计算就是在 ...

  9. JSON标准格式

    标准JSON的合法符号:{(左大括号)  }(右大括号)  "(双引号)  :(冒号)  ,(逗号)  [(左中括号)  ](右中括号) JSON字符串:特殊字符可在字符前面加 \ 或使用 ...

  10. mysql跨表更新示例

    一.在同一个表中冗余存储记录之间的关系(组织机构树),查询时需要根据冗余字段进行关联查询 例如,下面的示例,用户表中有个字段friend标记其朋友关系,要求找出id=2及他的朋友(父节点) mysql ...