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 运行.是的,所以读者需要自己在电 ...
随机推荐
- sql server 数据库代码备份及还原代码
--备份 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd.bak' --备份并覆盖 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd. ...
- Intent的简单使用
主要实现Intent之间值得转递,如从AActivity到BActivity之间传一个数值,一个实体类,一个集合类 下面代码只要是实现对startActivityForResult的使用,用ABC 3 ...
- maven学习(二)maven常用的命令
参考博客:(http://blog.csdn.net/keda8997110/article/details/20925449) 以下命令都是基于命令行的操作,也可以直接在eclipse等IDE上ma ...
- 百度地图JavaScript开发入门先知
最近项目紧急开发了一些百度地图的功能,觉得百度地图实数强大!于是今天不忙总结一下,看到不错的文章先转载. 文章出处:https://www.opengps.cn/Blog/View.aspx?id=1 ...
- 小故事学设计模式之Observer : (三) 老婆帮忙订机票
(IT的事就是过场多,过场多了就容易忘,所以我们不妨看一个记一个,这也是一个办法,顺便还能跟同行们交流一下) 要和老婆一起回老家了, 成都离我们安徽太远, 两个人飞一下过去就要花掉近三千块, 于是我 ...
- SQL的id奇迹
SELECT id,name FROM test where name is null and id>=26 limit 26,3 这里26和26没关系,不是id额
- Uva 12298 超级扑克2
题目链接:https://vjudge.net/problem/UVA-12298 题意: 1.超级扑克,每种花色有无数张牌,但是,这些牌都是合数:比如黑桃:4,6,8,9,10,,,, 2.现在拿走 ...
- 【[SCOI2007]修车】
题目 只能做网络流度日了 当然是要对每个修车的人拆点,把每个人拆成\(n\)个点用于接收不同时刻的车 每个车\(i\)向每个时刻\(k\)的人\(j\)连边,边权为\(t[i][j]*k\)这样就是这 ...
- CF633C Spy Syndrome 2
嘟嘟嘟 题面:把一句话加密:1.所有字母变成小写.2.翻转所有单词.3.去掉空格.然后给你一句加密后的字符串以及一些出现在原句和没有出现在原句的单词,让你还原原句.注意,每一个单词可以使用多次,如果有 ...
- POJ 2771 Guardian of Decency 【最大独立集】
传送门:http://poj.org/problem?id=2771 Guardian of Decency Time Limit: 3000MS Memory Limit: 65536K Tot ...