用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. java反射技术实例

    java反射技术实例​1. [代码][Java]代码     package com.gufengxiachen.java.reflectiontest; public class Person {p ...

  2. Opencv— — Bias and Gain

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  3. JNI之JAVA调用C++接口

    1.JNI定义(来自百度百科) JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java1.1开始,Java Native Interface(JNI)标准成为ja ...

  4. C++模板之函数模板实例化和具体化

    模板声明 template<typename/class T>,  typename比class最近后添加到C++标准. 常规模板,具体化模板,非模板函数的优先调用顺序. 非模板函数(普通 ...

  5. CopyOnWrite 策略

    CopyOnWrite 是用于解决并发读写的一种策略,在Write的时候对共享变量进行Copy,在副本上进行更新,再把更新好的副本原子性地替换原来的共享变量.写入时复制是一种优化策略,多个调用者同时访 ...

  6. 洛谷 P4245 [模板]任意模数NTT —— 三模数NTT / 拆系数FFT(MTT)

    题目:https://www.luogu.org/problemnew/show/P4245 用三模数NTT做,需要注意时间和细节: 注意各种地方要取模!传入 upt() 里面的数一定要不超过2倍 m ...

  7. bzoj 4827 [Hnoi2017] 礼物 —— FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4827 首先,旋转对应,可以把 b 序列扩展成2倍,则 a 序列对应到的还是一段区间: 再把 ...

  8. 使用Axis2创建Web Service

    Axis2是新一代Web Service开发工具,目前最新版本是1.5.本文主要介绍如何用Axis2创建Web Service. 首先下载二进制包和war包,将war包复制到Tomcat的webapp ...

  9. 纯java config配置Spring MVC实例

    1.首先创建一个Maven工程,项目结构如下: pom.xml添加Spring和servlet依赖,配置如下 <project xmlns="http://maven.apache.o ...

  10. Filezilla配置FTP中的坑以及出坑办法

    做本科生助教,老板让配置一个FTP传资料交作业,找了一台Windows服务器捣鼓,开始按网上教程自己配置特别麻烦,何西西说用Filezilla比较方便,就去Filezilla官网下载了Filezill ...