python-flask-2 安装及设定 flask
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的更多相关文章
- python 全栈开发,Day119(Flask初识,Render Redirect HttpResponse,request,模板语言 Jinja2,用户登录例子,内置Session)
一.Flask初识 首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 三大主流Web框架对比 ...
- Python 的 Flask 框架安装应用
Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...
- Flask 学习篇一: 搭建Python虚拟环境,安装flask,并设计RESTful API。
前些日子,老师给我看了这本书,于是便开始了Flask的学习 GitHub上的大神,于是我也在GitHub上建了一个Flask的项目. 有兴趣可以看看: https://github.com/Silen ...
- [Python]安装和运行flask框架
随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库.同一个 Python 库的不同版本可能不兼容.虚拟环境可以为每一个项目安装独立的 Python 库,这样 ...
- python web开发flask框架 安装与环境
# encoding:utf-8 # 从flask这个框架中导入Flask这个类 from flask import Flask # 初始化一个Flask对象 # Flasks() # 需要传递一个参 ...
- Flask简介,安装,demo,快速入门
1.Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug ...
- Python 【web框架】之Flask
flask 是Python实现的轻量级web框架.没有表单,orm等,但扩展性很好.很多Python web开发者十分喜欢.本篇介绍flask的简单使用及其扩展. 文中示例源码已经传到github:h ...
- 安装虚拟环境和Flask
一.Flask 使用前准备 一. 安装及创建虚拟环境 1. 安装虚拟环境 win + R -> cmd -> pip install virtualenv -> 出现 Success ...
- python 全栈开发,Day142(flask标准目录结构, flask使用SQLAlchemy,flask离线脚本,flask多app应用,flask-script,flask-migrate,pipreqs)
昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生 ...
随机推荐
- GPS-Graph Processing System 改动源代码经验总结 (四)
HamaWhite原创,转载请注明出处.欢迎大家增加Giraph 技术交流群: 228591158 本文目的:在改动GPS源代码后,具体描写叙述怎样编译和分发到各Worker节点上. 以下以Graph ...
- 查看scn headroom变化趋势的几种方法
查看scn headroom变化趋势的几种方法 scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术project师. 转载请注明出处http://blog ...
- E20170911-hm
specification n. 规格; 说明书; 详述;
- preg_match_all匹配网络上文件
<?php$ssa=file_get_contents("http://www.oschina.net/code/snippet_4873_5256");preg_match ...
- JPA新增entity时自动填充时间,例创建时间,修改时间
背景:springboot项目,集成JPA,与数据库交互的entity,与用户交互的DTO 问题:添加酒店时,两个字段create_time,update_time,前端不传数据,如果赋值 解决: 1 ...
- Spring Boot (10) mybatis三种动态sql
脚本SQL xml配置方式见mybatis讲解,下面是用<script>的方式把它照搬过来,用注解来实现.适于xml配置转换到注解配置 @Select("<script&g ...
- 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...
- “发布后tomcat中的classes目录为空”问题
办法:Project-clean,ok,问题解决.
- 【转载】linux环境下大数据网站搬家
这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器. 我们假设你的网站域 ...
- Linux rsync配置用于服务器之间传输大量的数据
Linux的rsync 配置,用于服务器之间远程传大量的数据 [教程主题]:rsync [课程录制]: 创E [主要内容] [1] rsync介绍 Rsync(Remote Synchronize ...