使用virtualenv, uwsgi, nginx来布署flask
本文讲述了怎样使用virtualenv, uwsgi, nginx来布署flask的步骤。
升级软件包
运行下面命令,保证你的机器安装了最新的软件包。
sudo apt-get update
sudo apt-get upgrade
安装python和virtualenv
sudo apt-get install build-essential python-dev python-pip
sudo pip install virtualenv
创建存放站点的文件夹
比如,在/home/gzlihao/webservice文件夹下创建mysite文件夹
mkdir mysite
配置virtualenv和安装flask, uwsgi
进入 mysite 文件夹,然后创建虚拟环境 .env,激活虚拟环境。然后安装flask和uwsgi。
cd mysite
virtualenv .env
source .env/bin/activate
pip install flask
pip install uwsgi
在mysite文件夹下创建hello.py
hello.py的内容例如以下:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080)
须要注意的是,app.run()
仅仅是开发时測试使用,故须要放置在if __name__ == "__main__"
下,这样uwsgi才不会运行app.run()
方法。
而host须要设置为0.0.0.0,表示让flask监听机器的全部ip地址的8080端口。
配置uwsgi
添加配置文件uwsgi.ini,内容例如以下:
[uwsgi]
chdir=/home/gzlihao/webservice/mysite
home=/home/gzlihao/webservice/mysite/.env
module=hello
callable=app
master=true
processes=2
socket=%(chdir)/mysite.sock
chmod-socket=666
logfile-chmod=644
daemonize=%(chdir)/uwsgi.log
uid=gzlihao
gid=gzlihao
使用virtualenv, uwsgi, nginx来布署flask的更多相关文章
- 使用virtualenv, uwsgi, nginx来布署django
http://blog.csdn.net/lihao21/article/details/47731903 http://www.cnblogs.com/lxg226/p/3468558.html h ...
- CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署
一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定 ...
- [服务器部署] Flask + virtualenv + uWSGI + Nginx 遇到的问题
1.配置好了Flask + virtualenv +uWSGI,启动uWSGI并调试,网页显示 Internal Server Error 参考:https://www.cnblogs.com/cle ...
- centOS7 flask项目布署
先用1张图表示centOS布署flask的关键点,以及可能遇到的问题,及解决办法. 图片看不清,可以[下载]下来看,清晰度能够看清字 [目标] 局域网内,通过url可以访问flask编写的api 更新 ...
- ubuntu nginx本地局域网布署sever_name设置
如果没有设置好sever_name 在本地输入虚拟机的ip.只会看到nginx的helloworld(打招呼界面,不可能写helloworld)界面 重点在于nginx的布署文件要加上这么一条 来 ...
- centosflask+uWSGI+nginx部署
centosflask+uWSGI+nginx部署 1. 概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...
- 从pip+requirements.txt+virtualenv管理依赖到使用pipenv管理依赖-修改布署方式
背景: 已经使用pip+requirements.txt+virtualenv管理了项目一段时间,为了不要每次都 导出依赖(本地),安装依赖(服务器) 现在要使用pipenv来管理项目的依赖关系 思路 ...
- flask环境布署--废弃不用,只留作备份
[前置条件] 创建1个flask-demo,生成requirement.txt文件(下载好gunicorn),上传至git.创建demo参照:创建一个flask api-demo(响应体显示中文) g ...
- 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
随机推荐
- 2017 ACM/ICPC Asia Regional Shenyang Online
cable cable cable Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 有大神告诉我为什么pymysql导入失败
import json import requests import pymysql url = 'https://xueqiu.com/v4/statuses/public_timeline_by_ ...
- 转 CListCtrl::InsertColumn、InsertItem、SetItemText;
将数据写入到CListCtrl 向CListCtrl中写入数据,一般使用3个成员方法: CListCtrl::InsertColumn; CListCtrl::InsertItem; CListCtr ...
- LightOJ1106 Gone Fishing
Gone Fishing John is going on a fishing trip. He has h hours available, and there are n lakes in the ...
- vs2015插件推荐 Productivity Power Tools 2015
vs2015插件推荐 Productivity Power Tools 2015 官网网址:https://marketplace.visualstudio.com/items?itemName=Vi ...
- 实验三 kali下metasploit的漏洞攻击实践
一.实验内容 1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限. 2.分析攻击的原理以及获取了什么样的权限. 二.实验要求 1.熟悉kali原理和使用 ...
- [其他] 关于C语言中使用未声明函数的问题
在c语言中,碰到一个.c文件,无.h头文件,在另一.c文件调用函数时,并没有进行声明extern, 此时编译器不会报错,会默认去查找同名的函数,这样会存在一些问题,查了些资料,稍微总结了下: 总结: ...
- 【C++】DLL内共享数据区在进程间共享数据(重要)
因项目需要,需要在DLL中共享数据,即DLL中某一变量只执行一次,在运行DLL中其他函数时该变量值不改变:刚开始想法理解错误,搜到了DLL进程间共享数据段,后面发现直接在DLL中定义全局变量就行,当时 ...
- Scrapy学习-1-入门
基础知识 爬虫发展史 爬虫去重 1. 存储到数据库中 存取速度慢 2. 存储到内存中的集合里,内存占用十分大 当爬取数据有1亿条时 1*10**8*2Byte*50str_len/1024/102 ...
- python decode unicode encode
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...