• 采用flask+uwsgi+nginx架构将flask应用程序部署在腾讯云


     最近一星期加班为学校做了一个教师发展中心平台,在此总结一下部署经验

     环境:Centos7.0  python2.7.5

     1.安装nginx

        命令行输入指令:sudo yum install nginx

       2.安装pip

        1. sudo yum –y install epel-release
        2. sudo yum –y install python-pip


     3.安装virtualenv
        pip install virtualenv

        在应用程序目录创建虚拟环境 virtualenv venv

     4.激活虚拟环境
        在目录下home/magicroc/flasky
        virtualenv venv
        source /bin/activate

     5.虚拟环境下安装uwsgi服务器
        pip  install uwsgi   (需安装三个库 )
          1.sudo yum install libxml2
          2.sudo yum install gcc
          3.sudo yum install python-devel

     6.安装flask应用程序依赖包
        因为pip安装时速度太慢,所以决定更改为pip国内源
        对指定包对安装临时使用豆瓣源
        pip install flask_sqlalchemy –i http://pypi.douban.com/simple

        永久更新源办法  修改配置文件
        在主目录下创建.pip文件夹
        mkdir ~/.pip
        然后在该目录下创建pip.conf文件
        vi pip.conf
        写入以下内容
        [global]
        trusted-host = pypi.douban.com
        index-url = http://pypi.douban.com/simple




      7.修改nginx配置文件(最后不要直接修改nginx.conf默认文件,笔者这里是直接修改默认配置文件,不过不推荐这种行为)

        vi etc/nginx/nginx.conf

        server {
          listen  80;
          server_name XXX.XXX.XXX; #公网地址

          location / {
        include      uwsgi_params;
        uwsgi_pass   127.0.0.1:8001;  # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
        uwsgi_param UWSGI_PYHOME /home/magicroc/flasky/venv; # 指向虚拟环境目录
        uwsgi_param UWSGI_CHDIR  /home/magicroc/flasky; # 指向网站根目录
        uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序
          }
        }


        启动nginx:命令行输入nginx
        关闭nginx:ps -ef|grep nginx
                  查看nginx 线程ID
                   kill -QUIT 线程ID

      8.修改uwsgi配置文件
        进入flask应用程序目录 vi config.ini
        [uwsgi]
        # uwsgi 启动时所使用的地址与端口
        socket = 127.0.0.1:8001 
        # 指向网站目录
        chdir = /home/magicroc/flasky 
        # python 启动程序文件
        wsgi-file = manage.py 
        # python 程序内用以启动的 application 变量名
        callable = app 
        # 处理器数
        processes = 4
        # 线程数
        threads = 2
        #状态检测地址
        stats = 127.0.0.1:9191

        uwsgi 启动 :虚拟环境下uwsgi config.ini
        uwsgi 关闭:虚拟环境下killall -9 uwsgi

      

  • 相关阅读:
    处理emacs-org模式TODO的一个脚本
    MYSQL 数据类型
    Redis命令学习-Transaction(事务)
    成都青羊考场科目二考试分享
    地图入门_坐标系统
    microsoft SQL server,错误2
    搭建个人博客 方式2 使用jekyll
    WIN10 10招
    java正則表達式总结
    图解hdu5301Buildings
  • 原文地址:https://www.cnblogs.com/magicroc/p/6085153.html
Copyright © 2020-2023  润新知