nginx+uwsgi+flask环境搭建

想自己搭建一个Blog,功能不是很复杂,所以选用了python的flask框架,在参照网上的资料搭出Hello World之后将知识汇总一下,以便以后查看。

系统:Ubuntu 14.04

首先安装flask,nginx,pip(方便安装 uwsgi),python-dev(uwsgi需要python头文件进行编译)

sudo apt-get install python-flask nginx python-pip python-dev
sudo pip install uwsgi

#uwsgi的安装注意依赖,可以参见uwsgi安装#nginx的安装比较简单,安装后可以使用 nginx -v查看是否安装成功

下面开始创建web应用,由于只是尝试搭建,所以这里只是弄了一个简单的HelloWorld,如果想真正的搭建完整的环境,请参看uwsginginx的文档

首先创建工程的目录,在下/home/zhx/下,命名为my_flask,

在my_flask下创建应用目录,命名为app,在app文件夹下创建__init__.py文件,用来标示这是一个python-package

__init__.py中内容如下:

#!/usr/local/env python
#-*-coding=utf-8-*-

from flask import Flask

App = Flask(__name__)

@App.route("/")
def index():
    return "Hello World"

#之后想丰富view函数可以参见flask的文档

在my_flask目录下创建config.xml文件,内容如下:

 <uwsgi>
     <pythonpath>/home/zhx/my_flask/</pythonpath> <!--工程的根目录 也可以理解为应用的父目录-->
     <module>app</module><!--应用所在目录的名称-->
     <callable>App</callable><!--应用中的具体调用实例,这里是App-->
     <socket>/tmp/uwsgi.sock</socket><!--用来和nginx交互的缓存文件,也可以使用端口,例如127.0.0.1:9090-->
     <master/>
     <processes>1</processes> <!--应用运行的进程数-->
     <memory-report/>
</uwsgi>

#具体配置的讲解可以参见uwsgi的配置

#也可以使用man查看,

接下来配置nginx,在/etc/nginx/sites-available/目录下创建site,内容如下:

server{
    listen 80;
    server_name 127.0.0.1;
    location / {
               include uwsgi_params;
               uwsgi_pass unix:/tmp/uwsgi.sock; #注意要和上面的缓存文件用一个名字
     }
}

#将/etc/nginx/sites-available/下的default文件备份一下,

mv  /etc/nginx/sites-available/default  /etc/nginx/sites-available/default.back

配置工作已经完成,现在可以启动试一下。目录切到工程目录下,即/home/zhx/my_flask/下

sudo uwsgi -x config.xml

然后会提示一大堆,注意看看有没有unable的字眼,如果没有就是启动成功了(配置好应用和工程的目录就可以成功启动)

这时在打开另一个终端,

sudo chmod 777 /tmp/uwsgi.sock #为了交互,需要设置权限

然后启动nginx就可以了

sudo /etc/init.d/nginx start

接着在浏览器访问127.0.0.1就可以看到helloworld了。

时间: 2024-10-29 19:07:51

nginx+uwsgi+flask环境搭建的相关文章

Ubuntu下nginx+uwsgi+flask的运行环境搭建

选择web framwork是个很艰难的事情, 主要分为轻量级和重量级框架. 由于没有搭建网站这种需要, 所以回避SSH, Django这种框架, 而选择一个轻量级框架. 自己也比较青睐python这门语言, 就选择了flask框架, nginx代理服务器享誉盛名, 所以拿来使用咯. 一. 开发环境搭建 采用离线安装方式, ubuntu开发环境(centos等环境类似) nginx 安装 $ wget http://nginx.org/download/nginx-1.6.0.tar.gz #仅

nginx+uwsgi+flask 服务器配置

注:每个机器,软件版本可能不一样,虽然网上有很多类似的帖子,但是我在搭建的时候遇到了不少的坑,此文仅供参考. 请求流程: 1.安装uwsgi uwsgi是一个应用服务器,非静态文件的网络请求就必须通过他完成,他也可以充当静态文件服务器,但不是他的强项.uwsgi是使用python编写的,因此通过`pip install uwsgi`就可以了.(uwsgi必须安装在系统级别的Python环境中,不要安装到虚拟环境中). pip install uwsgi 测试uwsgi是否安装正确:创建一个tes

Docker构建nginx+uwsgi+flask镜像(二)

Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask服务,但这体现不了Docker为我们带来的便利,而本章,我们将通过Dockerfile来制作基础镜像和打包应用,因此会有两个Dockerfile文件. 我们先来写第一个Dockerfile文件,这个文件负责搭建运行环境,运行环境需要包括:nginx.uwsgi.Python3: # 配置基础镜像 F

Python Flask环境搭建

Python Flask环境搭建 尽管之前多次部署过Python的Flask环境,由于没有做文档输出工作,导致后面部署时每次都得重新去填之前填过的坑,为了方便自己,也为了工作效率的提升,于是自己花了一点时间重新实验并且整理出来部署的文档,包括一键部署Flask环境脚本install.sh,和Flask环境需要的扩展的安装包packages.txt! 全部贴在代码区域! 下面是一键安装脚本install.sh #! /usr/bin/bash #version v1.0 # by andy.zhu

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机   2014年06月02日 17:20 评论» 文章目录 Debian上安装 CentOS上安装 Ubuntu上安装 装Wordpress HHvm安装小结 HHVM是一个强大的可以用于替代PHP的建站环境,出自Facebook团队,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点.实践证明HHVM可以明显地提升PHP执行速度,节省大量的服务器资源

Linux Debian 下LNMP服务器——nginx+mysql+php环境搭建及配置

昨天刚给公司服务器装了LNMP服务器环境,在这里简单记录一下过程备忘. 这里我在安装的时候是用的Dotdeb源,仅供参考. 1.导入Dotdeb源,据说Dotdeb源里的软件版本比较新. 在向源中导入Dotdeb前,我们需要先获取GnuPG key并导入: wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - 提示OK,表明导入成功.然后我们开始导入Dotdeb源,源列表的位置在“/etc/apt/sources

linux下nginx+php+mysql环境搭建

linux下nginx+php+mysql环境搭建 ++++++++++++++++++++++++++++++++++++++++++++++ 操作系统 : [CentOS6.0] 服务器 : [nginx-1.1.8] PHP : [php-5.2.6] 数据库 : [mysql-5.1.59] ++++++++++++++++++++++++++++++++++++++++++++++ 准备安装软件(download)  1>[nginx-1.1.8]       http://nginx

CentOS7.2 上 Nginx PHP Mariadb 环境搭建

最近有个ERP+PHP-web 測試頁面環境部署需求,需要部署nginx+php的cgi+socket的模式.mysql环境.查看服务端口是否起来,我们习惯使用netstat指令查看,所以如果你的系统里尚未安装netstat,可直接安裝 yum install -y net-tools即可 实验环境: Linux版本:CentOS 7.2 nginx版本:nginx-1.10.1 PHP版本:php-5.6.5 mysql版本:MariaDB-5.5.52 一.首先部署nginx 把相關依賴包安

Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)

具体案例:局域网内有两台主机,一台Linux.一台Windows,现在需要配置一台Cacti监控服务器对这两台主机进行监控环境说明:1.Linux主机操作系统:CentOS 6.2IP地址:192.168.21.164子网掩码:255.255.255.0网关:192.168.21.2DNS:8.8.8.8 8.8.4.42.Windows主机操作系统:Windows Server 2003IP地址:192.168.21.130子网掩码:255.255.255.0网关:192.168.21.2DN