https://linoxide.com/linux-how-to/install-flask-python-ubuntu/

1. prerequisites

> create a new user: sudo adduser bob

> grant admin privileges: sudo usermode -aG sudo bob

2. install components from the ubuntu repositories

sudo apt-get update

sudo apt-get install python3-pip python3-dev nginx

3. create python3 virtual environment
sudo pip3 install virtualenv
> generate a project folder
> then: mkvirtualenv flask 4. install flask
> activate flask
> pip3 install gunicorn flask 5. create a sample app: flaskproject.py
~/flaskproject/flaskproject.py
##########
from flask import Flask
app = Flask(__name__) @app.route("/")
def greeting():
  return "<h1 style='color:green'>Hello World!</h1>" if __name__ == "__main__":
  app.run(host='0.0.0.0')
#############
6. open server
(flaskprojectenv) $ sudo ufw allow 5000
(flaskprojectenv) $ python flaskproject.py
http://0.0.0.0:5000
then you can get a "Hello world" on the browser 7. create the wsgi entry point:create wsgi.py
~/flaskproject/wsgi.py
from flaskproject import app if __name__ == "__main__":
app.run() 8. check gunicorn works or not:
(in the flaskproject folder) > gunicorn --bind 0.0.0.0:5000 wsgi:app 9. create a systemd unit file: allow unbuntu automatically start Gunicorn and serve the Flask application whenever the server boots
create a unit file ending in .service in /etc/systemd/system folder
> sudo vim /etc/systemd/system/flaskproject.service
###
[Unit]
Description=Gunicorn instance to serve flaskproject
After=network.target [Service]
User=westmole
Group=www-data
WorkingDirectory=/home/westmole/workspace/prj/flaskproject
Environment="PATH=/home/westmole/workspace/prj/flaskproject/flask/bin"
ExecStart=/home/westmole/workspace/prj/flaskproject/flask/bin/gunicorn --workers 3 --bind unix:flaskproject.sock -m 007 wsgi:app [Install]
WantedBy=multi-user.target
###
> group=www-data: Nginx can communicate with Gunicorn processes
> gunicorn is in the virtualenv of flask
> --workers 3: 3 worker projcesses
> -m 007: umask value so the socket file to give access to the owner and group
> wsgi:app : pass in the WSGI entry point 10. start the gunicorn service and enable it to start at boot:
> sudo systemctl start flaskproject
> sudo systemctl enable flaskproject 11. configuring Nginx to proxy request
Nginx to pass web requests to scoket; create a new server block configuration file in Nginx's 'sites-available' directory
> sudo vim /etc/nginx/sites-available/flaskproject
server {
listen 80;
server_name server_domain_or_IP; location / {
include proxy_params;
proxy_pass http://unix:/home/bobby/flaskproject/flaskproject.sock;
}
} > sudo ln -s /etc/nginx/sites-available/flaskproject /etc/nginx/sites-enabled
> sudo nginx -t
> sudo systemctl restart nginx
> sudo ufw delete allow 5000
> sudo ufw allow 'Nginx Full'


												

python-flask-2 安装及设定 flask的更多相关文章

  1. python 全栈开发,Day119(Flask初识,Render Redirect HttpResponse,request,模板语言 Jinja2,用户登录例子,内置Session)

    一.Flask初识 首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 三大主流Web框架对比 ...

  2. Python 的 Flask 框架安装应用

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...

  3. Flask 学习篇一: 搭建Python虚拟环境,安装flask,并设计RESTful API。

    前些日子,老师给我看了这本书,于是便开始了Flask的学习 GitHub上的大神,于是我也在GitHub上建了一个Flask的项目. 有兴趣可以看看: https://github.com/Silen ...

  4. [Python]安装和运行flask框架

    随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库.同一个 Python 库的不同版本可能不兼容.虚拟环境可以为每一个项目安装独立的 Python 库,这样 ...

  5. python web开发flask框架 安装与环境

    # encoding:utf-8 # 从flask这个框架中导入Flask这个类 from flask import Flask # 初始化一个Flask对象 # Flasks() # 需要传递一个参 ...

  6. Flask简介,安装,demo,快速入门

    1.Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug ...

  7. Python 【web框架】之Flask

    flask 是Python实现的轻量级web框架.没有表单,orm等,但扩展性很好.很多Python web开发者十分喜欢.本篇介绍flask的简单使用及其扩展. 文中示例源码已经传到github:h ...

  8. 安装虚拟环境和Flask

    一.Flask 使用前准备 一. 安装及创建虚拟环境 1. 安装虚拟环境 win + R -> cmd -> pip install virtualenv -> 出现 Success ...

  9. python 全栈开发,Day142(flask标准目录结构, flask使用SQLAlchemy,flask离线脚本,flask多app应用,flask-script,flask-migrate,pipreqs)

    昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生 ...

随机推荐

  1. GPS-Graph Processing System 改动源代码经验总结 (四)

    HamaWhite原创,转载请注明出处.欢迎大家增加Giraph 技术交流群: 228591158 本文目的:在改动GPS源代码后,具体描写叙述怎样编译和分发到各Worker节点上. 以下以Graph ...

  2. 查看scn headroom变化趋势的几种方法

    查看scn headroom变化趋势的几种方法 scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术project师. 转载请注明出处http://blog ...

  3. E20170911-hm

    specification n.     规格; 说明书; 详述;

  4. preg_match_all匹配网络上文件

    <?php$ssa=file_get_contents("http://www.oschina.net/code/snippet_4873_5256");preg_match ...

  5. JPA新增entity时自动填充时间,例创建时间,修改时间

    背景:springboot项目,集成JPA,与数据库交互的entity,与用户交互的DTO 问题:添加酒店时,两个字段create_time,update_time,前端不传数据,如果赋值 解决: 1 ...

  6. Spring Boot (10) mybatis三种动态sql

    脚本SQL xml配置方式见mybatis讲解,下面是用<script>的方式把它照搬过来,用注解来实现.适于xml配置转换到注解配置 @Select("<script&g ...

  7. 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)

    一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...

  8. “发布后tomcat中的classes目录为空”问题

    办法:Project-clean,ok,问题解决.

  9. 【转载】linux环境下大数据网站搬家

    这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器. 我们假设你的网站域 ...

  10. Linux rsync配置用于服务器之间传输大量的数据

    Linux的rsync 配置,用于服务器之间远程传大量的数据   [教程主题]:rsync [课程录制]: 创E [主要内容] [1] rsync介绍 Rsync(Remote Synchronize ...