用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. HDU4850 Wow! Such String! —— 字符串构造

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4850 代码如下: #include <iostream> #include <cst ...

  2. Appium——连接真机,adb devices获取不到设备号

    连接真机后,使用 adb devices获取不到设备号. 1.检查usb接口是否正常,是否正常链接到电脑 2.手机开发者模式是否开启,usb调试是否开启 3.检查驱动是否正常 4.如果驱动显示黄叹号, ...

  3. system调用命令行命令而不显示命令行窗口

    system调用命令行命令而不显示命令行窗口 通常用system调用命令行命令时都会弹出黑底白字的命令行窗口,下面的代码可以不显示弹出的命令行窗口. 代码如下 #pragma comment( lin ...

  4. RTree算法Java实现 JSI RTree Library的调用实例 标签:jsi-rtree-library

    1. [代码]jsi-rtree-library /** *  */package com.mycompany.project; //package net.sourceforge.jsi.examp ...

  5. [转]text和content方法的区别

    r.text str #字符串方式的响应体,会自动根据响应头部的 字符编码进行解码 r.content bytes #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩 reques ...

  6. ubuntu系统,关于源(source)的配置

    1. 现象:(出现的错误) 执行 sudo apt-get update, 报错:apt-get 404 Not Found Package Repository Errors 执行 sudo apt ...

  7. C#中,当鼠标移动到控件上,动态显示提示内容 ToolTip

    [背景]写了个C#的小程序,其中在Settings窗体中有些配置参数,希望在鼠标移动到对应的配置选项上,动态显示相关的说明解释内容. [解决过程]1.原先就已经知道,有些控件,是带ToolTipTex ...

  8. 如何在ubuntu下使用windows下的程序(eg: .exe)

    为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...

  9. Walk of Length 6

    简要题意: 给一n(n<=2000)个点的有标号无向图,在图上从1出发走六步回到1,问有多少种不是六元简单环的情况. 解法: 用暴力找到31种走法,环有9种形状: 分为9种,统计出每一种情况的方 ...

  10. java web 学习-网络资源

    [网络收集] 1. JavaWeb学习总结——JSP中的九个内置对象 2. Jsp九大内置对象以及四个作用域 他人学习汇总资源 1. http://www.cnblogs.com/xdp-gacl/t ...