Ubuntu16.04采用FastCGI方式部署Flask web框架
1 部署nginx
1.1 安装nginx服务
root@desktop:~# apt-get install nginx -y
1.2 验证nginx服务是否启动
root@desktop:~# ps -ef | grep nginx | grep -v grep
root : ? :: nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
nginx : ? :: nginx: worker process
root@desktop:~# ss -lntup | grep
tcp LISTEN *: *:* users:(("nginx",pid=,fd=),("nginx",pid=,fd=))
tcp LISTEN ::: :::* users:(("nginx",pid=,fd=),("nginx",pid=,fd=))
1.3 客户端浏览nginx页面

2 配置nginx
2.1 创建nginx用户
root@desktop:~# useradd -M nginx
root@desktop:~# id nginx
uid=1001(nginx) gid=1001(nginx) groups=1001(nginx)
2.2 修改/etc/nginx/nginx.conf配置文件(添加标红部分)
root@desktop:~# grep -v '^#' /etc/nginx/nginx.conf
user nginx nginx;
worker_processes auto;
pid /run/nginx.pid; events {
worker_connections ;
# multi_accept on;
} http { ##
# Basic Settings
## sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout ;
types_hash_max_size ;
# server_tokens off; # server_names_hash_bucket_size ;
# server_name_in_redirect off; include /etc/nginx/mime.types;
default_type application/octet-stream; ##
# SSL Settings
## ssl_protocols TLSv1 TLSv1. TLSv1.; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on; ##
# Logging Settings
## access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; server{
listen 5000;
server_name localhost;
charset utf-8; location / { try_files $uri @flasks; }
location @flasks {
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_NAME "";
fastcgi_pass unix:/tmp/flasks-fcgi.sock;
}
}
##
# Gzip Settings
## gzip on;
gzip_disable "msie6"; # gzip_vary on;
# gzip_proxied any;
# gzip_comp_level ;
# gzip_buffers 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ##
# Virtual Host Configs
## include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
3 部署FastCGI
3.1 安装flup
root@desktop:~# pip3 install flup
3.2 创建FastCGI配置文件存放目录
root@desktop:~# cd /var/www/
root@desktop:/var/www# mkdir flasks
3.3 创建FastCGI服务器配置文件
root@desktop:/var/www/flasks# vim flasks.fcgi
#!/usr/bin/python3
from flup.server.fcgi import WSGIServer
from flasks import app if __name__ == '__main__':
# WSGIServer(app).run()
WSGIServer(app, bindAddress='/tmp/flasks-fcgi.sock').run()
#赋予FastCGI配置文件有可执行权限
root@desktop:/var/www/flasks# chmod +x flasks.fcgi
3.4 创建app应用文件
root@desktop:/var/www/flasks# vim flasks.py
#!/usr/bin/python3 from flask import Flask app = Flask(__name__) @app.route('/')
def index():
return 'Index Page' #if __name__ == '__main__':
# #app.run(debug=True)
# app.debug =True
# app.run()
3.5 修改FastCGI配置文件的用户及组权限
root@desktop:/var/www# chown -R nginx:nginx ./flasks
root@desktop:/var/www# ls -ld ./flasks/
drwxr-xr-x nginx nginx 4月 : ./flasks/
root@desktop:/var/www# cd flasks/
root@desktop:/var/www/flasks# ls -l *
-rwxr-xr-x nginx nginx 4月 : flasks.fcgi
-rw-r--r-- nginx nginx 4月 : flasks.py
3.6 运行FastCGI进程
root@desktop:~# nohup /var/www/flasks/flasks.fcgi &
root@desktop:~# jobs
[]+ Running nohup /var/www/flasks/flasks.fcgi &
root@desktop:~# chmod /tmp/flasks-fcgi.sock
3.7 验证应用可以成功浏览

至此采用FastCGI方式部署Flask web框架完成,FastCGI服务的启动脚本可以自行编写实现!!!
Ubuntu16.04采用FastCGI方式部署Flask web框架的更多相关文章
- [转载] 新兵训练营系列课程——平台服务部署及Web框架
原文: http://weibo.com/p/1001643875679132642345 大纲 微博平台主要负责微博基础功能.接下来将会介绍 平台的作用,以及服务提供的形式 平台Web服务的部署 平 ...
- 教程:在 Visual Studio 中开始使用 Flask Web 框架
教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...
- 04 返回静态文件的函数web框架
04 返回静态文件的函数web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bind((" ...
- 如何使用Nginx和uWSGI或Gunicorn在Ubuntu上部署Flask Web应用
你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能. 此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/151981 ...
- 以守护进程的方式部署flask
1.文件目录 创建一个简单的flask 项目... application = Flask(__name__) application.debug = True 2.安装wsgi pip instal ...
- Python-S9-Day115——Flask Web框架基础
01 今日内容概要 02 内容回顾 03 Flask框架:配置文件导入原理 04 Flask框架:配置文件使用 05 Flask框架:路由系统 06 Flask框架:请求和响应相关 07 示例:学生管 ...
- Python Flask Web 框架入门
Python Flask 目录 本文主要借鉴 letiantian 的文章 http://www.letiantian.me/learn-flask/ 一.简介 二.安装 三.初始化Flask 四.获 ...
- python Flask web框架
目录: --> Flask --> 配置文件 --> 配置文件解析 --> 配置文件导入 --> 路由 --> 路由参数 --> 常用路由匹配 --> ...
- 比我的脸还干的gan货——Python Flask Web 框架入门
Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行.是的,所以读者需要自己在电 ...
随机推荐
- 慧都启动“正版IDE联合超值推广计划
越来越多的中国软件企业为盗版所害而蒙受巨大损失,正版化意识逐渐兴起.IDE(集成开发环境)是软件开发.编写代码必备工具,而正版IDE更具有运行更稳定.编码更安全.保障更加完善等特点,逾为中国软件行业企 ...
- SharePoint - CAML
1. CAML是顺序操作,如果要实现类似 “A or B or C or D” 的结果,最好写成 “(((A or B) or C) or D)”的形式,但写成 “((A or B) or (C or ...
- Android 笔记之 R 文件
Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...
- Android应用开发基础之二:数据存储和界面展现(二)
常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRightOf="@id/tv1" 设置在指 ...
- Siebel Tools 开发笔记
1.在Siebel Client上的菜单Help -> View 中可以找到开发所常用的信息 Screen: 此画面所使用的Screen名字在Tools的Object Explorer中的[ ...
- SQLServer存储过程 实例,很多语法可以以后参考
SQL代码 alter PROCEDURE sp_addnewdtgtype ( ), @dtgdllcontent image, ) ) AS BEGIN ); declare @v_count i ...
- django模型详解(四)
1 概述 (1)概述 : Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API,根据不同的业务需求选择不同的数据库 (2)定义模型 模型,属性,表,字段间的关系 一 ...
- 再学UML-UML用例建模解析(三)
2. 编写用例文档 绘制用例图只是完成了用例建模最基本也是最简单的一步,用例建模的核心在于编写用例文档,用例文档又称为用例规约或用例描述.顾名思义,用例文档是用于描述用例的文档,每一个用例对应于一个用 ...
- 一个程序猿试用有道云笔记VIP功能体验
熟悉我的朋友应该知道,我有一个微信公众号,叫做"汪子熙", 我会定期在上面推送技术文章. 而我绝大多数技术文章都是在每天上下班的地铁上用手机写的,然后到家后同步到电脑上,进行发表. ...
- PythonTip(2)
结尾0的个数 描述: 给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数.(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大). 例如: L=[2,8,3,50], 则输出:2 n = ...