1. 开源软件准备
      需要的软件列表:
      setuptools-33.1.1.zip
      Python-2.7.13.tgz
      pip-9.0.1.tar.gz
      nginx-1.10.3.tar.gz
      软件统一上传到/usr/local/src/下,python是使用自己编译的。
    2. Python安装

      先安装以下的软件(如果有的话,就可以不安装了,例如使用rpm -qa zlib-devel先查看下)
      yum install zlib-devel -y
      yum install openssl-devel -y

      tar -zxvf解压
      ./configure --prefix=/usr/local/python #安装到/usr/local/python目录下。
      make 
      make install

    3. setuptool和pip安装
      unzip解压setuptool
      /usr/local/python/bin/python setup.py install

      tar -zxvf解压pip
      /usr/local/python/bin/python setup.py install

    4. flask和uwsgi安装
      使用pip安装flask和uwsgi
      /usr/local/python/bin/pip install flask
      /usr/local/python/bin/pip install uwsgi
    5. nginx安装

      先安装pcre-devel:
      yum install pcre-devel -y

      ./configure --prefix=/usr/local/nginx
      make && make install

    6. nginx使用uwsgi配置

      cat /usr/local/nginx/conf/nginx.conf

      #user  nobody;
      worker_processes  1; events {
          worker_connections  1024;
      } http {
          include       mime.types;
          default_type  application/octet-stream;
          log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent" "$http_x_forwarded_for"';
          sendfile        on;
          keepalive_timeout  65;
          server {
              listen       8080;
              access_log  /usr/local/nginx/logs/flask_access.log main;
              error_log /usr/local/nginx/logs/flask_error.log error;
              client_max_body_size 200M;
              location / {
                  include      uwsgi_params;
                  uwsgi_pass   unix:/dev/shm/uwsgi.sock;
                  index  index.html index.htm;
              }
          } }

      启动nginx:
      /usr/local/nginx/sbin/nginx  -t
      /usr/local/nginx/sbin/nginx

      注意:uwsgi_pass   unix:/dev/shm/uwsgi.sock;需要和uwsgi的配置相对应!

    7. uwsgi配置
      cat /root/uwsgi.ini
      [uwsgi]
      uid = root
      gid = root
      socket = /dev/shm/uwsgi.sock
      chmod-socket = 666
      enable-threads = true
      master = true
      plugins = /usr/local/python/bin/python
      vhost = true
      workers = 5
      max-requests = 1000
      pidfile = /var/run/uwsgi.pid
      daemonize = /var/log/uwsgi.log
      chdir = /root/ops_dev/
      module = ops_dev
      callable = app

      启动uwsgi,有些报错没什么事:
      /usr/local/python/bin/uwsgi /root/uwsgi.ini

    8. 编写测试样例进行测试

      cat /root/ops_dev/ops_dev.py

      # -*- coding: UTF-8 -*-
      from flask import Flask
      app = Flask(__name__) @app.route('/', methods=['GET', 'POST'])
      def index():
          return 'Hello  world,Python ops_dev!'

      编写完需要重启uwsgi,开改动代码都需要重启uwsgi,直接使用pkill进行重启即可:
      pkill uwsgi

      访问http://localhost:8080/进行测试。

      访问日志记录(nginx和uwsgi的访问日志,可用来排错。):

Flask+uwsgi+Nginx环境搭建的更多相关文章

  1. Ubuntu下nginx+uwsgi+flask的执行环境搭建

    选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...

  2. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  3. Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  4. Linux下PHP+Nginx环境搭建

    PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: ​ Nginx+PHP+MySQL安装参考 ​ PHP源码安装经验 ​ PHP源码环境搭建过程中常见问题 CentOS环 ...

  5. Flask+uwsgi+Nginx+Ubuntu部署

    学了一段时间flask,可是一直没有做过部署, 于是想着怎么部署呢, 想想,先吧服务给搞通吧,于是呢 就先想着去吧服务给搞起来,这里选择的是Flask+uwsgi+Nginx+Ubuntu, Pyth ...

  6. Nginx环境搭建与使用

    一.背景 之前测试的项目前后端的"路由"(负责把前端发过来的请求转发到相应的后端服务上)要用Nignx来取代原来的tomcat的http server功能,做这个替换的原因是Nig ...

  7. Nginx 环境搭建 (windows)

    Nginx 环境搭建 (windows) 资源 # nginx在线文档和支持 For online documentation and support please refer to nginx.or ...

  8. 【Nginx(一)】Centos下 Nginx环境搭建

    Nginx环境搭建 系统环境: 腾讯云 Linux Centos7 1.下载nginx压缩包 ,上传到腾讯云服务器 http://nginx.org/en/download.html 或者使用dock ...

  9. 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘

    一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...

随机推荐

  1. 打印python的堆栈stack

    import sys def pstack(depth = 0): frame = sys._getframe(depth) cnt = 0 while frame: print "###& ...

  2. HDU2594(简单KMP)

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  3. quartz 配置运行

    这篇文章是对quartz 2.2.1进行配置 分为spring 整合版本和QuartzInitializerServlet整合版本 首先是QuartzInitializerServlet整合版本 主要 ...

  4. Docker容器进入的4种方式(转)

    这个文章不错,几种方式及使用范围都讲得清楚. 另外,还有一个文章说了为什么docker中并不合适ssh服务安装的情况. 我现在也是用第四种方式, docker exec -it [docker容器ID ...

  5. 前端读者 | 别人写的css,你敢用吗?

    本文来自@yeaseonzhang:链接:http://yeaseonzhang.github.io/2018/04/10/%E5%88%AB%E4%BA%BA%E5%86%99%E7%9A%84cs ...

  6. (四)监控cpu

    定义规则:创建模板--->群组--->应用集--->监控项--->图形--->触发器--->添加主机(加入到群组,关联模板) 1)cpu空闲率,用户态使用率,内核态 ...

  7. centos7.2使用yum安装MariaDB10.1

    ①添加MariaDB的yum源 1.创建MariaDB.repo sudo vi /etc/yum.repos.d/Mariadb.repo 2.将以下文件中的字段添加到MariaDB.repo文件中 ...

  8. .NET Core CLI

    NET Core 命令 一. 帮助命令 dotnet help 使用情况: dotnet [sdk-options] [command] [command-options] [arguments] 执 ...

  9. 训练指南 UVA - 11374(最短路Dijkstra + 记录路径 + 模板)

    layout: post title: 训练指南 UVA - 11374(最短路Dijkstra + 记录路径 + 模板) author: "luowentaoaa" catalo ...

  10. sum (bestcoder)

    sum Accepts: 640 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/13107 ...