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 = 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项目,问题记录的更多相关文章
- 使用Flask+uwsgi+Nginx部署Flask正式环境
环境准备 在开始正式讲解之前,我们将首先进行环境准备. Step1:安装Python,pip以及nginx: sudo apt-get update sudo apt-get install pyth ...
- 通过Nginx部署flask项目
用Flask开发之后,很多人,喜欢用nohup python manage.py & 这样的形式,放到后台运行,其实这样只是个发开模式,很简陋,无法支持并发,进程监控等功能.所以采用nginx ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- ubuntu18+uwsgi+nginx部署django项目
更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...
- uwsgi + nginx 部署python项目(一)
uWSGI uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uws ...
- uwsgi + nginx 部署python项目(二)
实现负载均衡 开启两个服务器,nginx负责分发请求到两个服务器,以减轻单个服务器负担. 配置uwsgi服务器 在a项目目录下生成uwsgi.ini文件,在b项目目录下生成uwsgi.ini文件,如何 ...
- vue+uwsgi+nginx部署luffty项目
在部署项目之前本人已经将前端代码和后端代码发布在了一个网站上,大家可自行下载,当然如果有Xftp工具也可以直接从本地导入. django代码 https://files.cnblogs.com/fil ...
- uwsgi+nginx部署django项目
1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2 ...
- Ubuntu+Django+uWSGI+Nginx部署Django项目
安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...
随机推荐
- webstorm代码提示按键改为alt+/
webstorm代码提示默认按键为ctrl+空格 但是windows输入法中英文输入法的默认按键也是ctrl+空格 这就导致webstorm按键冲突,无法使用代码快捷提示按键 解决方法: 按ctrl+ ...
- socket即时聊天
服务端 package com.luhan.text; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Gri ...
- ubuntu下安装cpython 0.2x
Quick installation of cython: Step 1: Update system: sudo apt-get update Step 2: Install: cython Ate ...
- 页面渲染——页面合成(composition)的优化
合成(composition)意味着将网页中已经绘画好的部分结合在一起,且展示在屏幕上. 坚持使用transform和opacity属性来操作你的动画animation 在有动画的元素上使用 will ...
- bzoj 4827 [Hnoi2017] 礼物 —— FFT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4827 首先,旋转对应,可以把 b 序列扩展成2倍,则 a 序列对应到的还是一段区间: 再把 ...
- android性能测试工具
Android性能测试工具Emmagee介绍 Emmagee介绍 Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具.该工具的优势在于如同windows系 ...
- su命令,sudo命令,visudo命令
一.命令su 语法 : su [-] username后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户. ‘-‘ 这个字 ...
- 有关map中使用iterate迭代器遍历的不保序问题和list remove(object)的细节问题
今天在做项目的过程中发现了如下两个问题: 一 使用map的iterator迭代器对map进行遍历得到的结果是不保序的,也就是每次输出结果都是不一样的.针对这个问题,看以下iterator迭代器的源码. ...
- PHP实用小程序(三)
<HTML> <HEAD> <TITLE>给数组增加元素</TITLE> </HEAD> <? $Cities[] = "& ...
- 《剑指offer》面试题1:为类CMyString添加赋值运算符函数——C++拷贝构造函数与赋值函数
题中已给出CMyString的类定义,要求写赋值运算符函数. #include<iostream> #include<cstring> using namespace std; ...