美文网首页
Ubuntu下创建Flask环境

Ubuntu下创建Flask环境

作者: 发条蛙 | 来源:发表于2017-11-02 10:06 被阅读0次

    在Ubuntu下创建Flask环境总共分为如下几个部分:

    背景环境准备

    1. 安装必要工具:
      sudo apt-get install aptitude
      sudo aptitude install python3-pip
      

    Flask安装配置

    1. 虚拟环境安装:
      pip install virtualenv virtualenvwrapper
      
    2. 初始化虚拟环境,写入如下内容到~/.bashrc文件:
      export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
      export WORKON_HOME=~/.virtualenvs
      source /usr/local/bin/virtualenvwrapper.sh
      
      然后执行source ~/.bash.rc以启用该配置。
      1. 这里需要注意的是如果是当前使用的是anaconda,则只需要加入如下行到~/.bashrc即可:
        source ~/anaconda3/bin/virtualenvwrapper.sh
        
    3. 创建虚拟环境:
      mkvirtualenv firstflask
      
    4. 进入虚拟环境并暗转工具:
      pip install Flask
      
    5. 创建文件~/firstflask/firstflask.py并写入如下内容:
      from flask import Flask
      application = Flask(__name__)
      
      
      @application.route("/")
      def index():
          return "Hello World!"
      
      if __name__ == "__main__":
          application.run()
      

    环境管理

    这里使用到了virtualenv进行Python开发环境的管理,故有如下命令用于操作:

    1. 进入环境:
      workon firstflask
      
    2. 退出环境:
      deactivate
      
      1. 对于anaconda环境而言,需要首先作如下操作,才能保证使用该命令退出环境成功:
        cd  ~/anaconda3/bin
        mv deactivate conda-deactivate
        

    uWSGI安装配置

    1. 安装uwsgi

      sudo pip3 install uwsgi
      
    2. 创建配置文件/etc/uwsgi/sites/firstflask.ini,内容如下:

      project = firstflask
      base = /home/ubuntu
      
      chdir = %(base)/%(project)
      home = %(base)/.virtualenvs/%(project)
      module = %(project):application
      
      master = true
      processes = 8
      
      cheaper = 2
      cheaper-initial = 4
      cheaper-step = 1
      
      cheaper-algo = spare
      cheaper-overload = 5
      
      socket = %(base)/%(project)/%(project).sock
      chmod-socket = 664
      vacuum = true
      
    3. 创建启动脚本/etc/init/uwsgi,内容如下:

      #!/bin/sh
      
      PATH=/sbin:/usr/sbin:/bin:/usr/bin
      
      EXEC=/usr/local/bin/uwsgi
      CONFDIR=/etc/uwsgi/sites
      PIDFILE=/var/run/uwsgi.pid
      LOGFILE=/var/log/uwsgi.log
      UID=ubuntu
      GID=www-data
      
      case "$1" in
          start)
              echo "Starting uWSGI server..."
              $EXEC --emperor $CONFDIR --pidfile $PIDFILE --daemonize $LOGFILE --uid $UID --gid $GID
              echo "uWSGI started"
              ;;
          stop)
              echo "Stopping..."
              $EXEC --stop $PIDFILE --vacuum
              ;;
          *)
              echo "Please use start or stop as first argument"
              ;;
      esac
      
    4. 赋予启动脚本可执行权限:

      sudo chmod +x /etc/init.d/uwsgi
      
    5. 设置启动权限:

      update-rc.d uwsgi defaults
      

    Nginx安装配置

    1. 安装nginx:

      sudo aptitude install nginx
      
    2. 编辑配置文件/etc/nginx/nginx.conf,在http块中,注释掉如下行:

      include /etc/nginx/conf.d/*.conf;
      
    3. 创建文件/etc/nginx/sites-available/firstflask,内容如下:

      server {
          listen 80;
      
          location / {
              include uwsgi_params;
              uwsgi_pass unix:/home/ubuntu/firstflask/firstflask.sock;
          }
      }
      
    4. 使用如下命令启用firstflask的配置:

      sudo ln -s /etc/nginx/sites-available/firstflask /etc/nginx/sites-enabled/
      

      这里务必记得删除目录/etc/nginx/sites-enabled/下的default链接。

    5. 进行配置检查并重启服务:

      sudo service nginx configtest
      sudo service nginx restart
      

    安装完成测试

    1. 访问如下链接可以出现Hello World!即可:
      http://localhost
      

    参考

    1. 参考链接:
      https://gist.github.com/bluekvirus/62691d0bed98f45fe153a600e127e37b

    相关文章

      网友评论

          本文标题:Ubuntu下创建Flask环境

          本文链接:https://www.haomeiwen.com/subject/ijzgpxtx.html