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 运行.是的,所以读者需要自己在电 ...
随机推荐
- vue1.0 与 Vue2.0的一些区别 及用法
1.Vue2.0的模板标记外必须使用元素包起来: eg:Vue1.0的写法 <!DOCTYPE html> <html> <head> <meta chars ...
- C++异步编程资料汇集贴
C++异步编程 http://www.cnblogs.com/zjjcy/archive/2012/03/18/2404214.htmlhttp://www.cnblogs.com/zjjcy/arc ...
- 搭建JUnit环境
1.下载 JUnit,这里用JUnit 4.7 下载链接: http://pan.baidu.com/s/1c23n7LQ 密码: i18e 2.可以直接 build path 引入:也可以创建 Us ...
- github代码上传教程
github 上传代码步骤 一.git以及Github Git是个正快速成长的版本控制系统,它由GitHub维护. 优势: 1.支持离线开发,离线Repository. 2.强大的分支功能,适合多个独 ...
- Siebel Tools配置
默认安装的Siebel+Tools,Tools登陆时有3个选项:Local.Sample.Server,具体涵义如下: Local:指本地数据库.按照Siebel开发建议,开发人员需要从Siebel ...
- June 17th 2017 Week 24th Saturday
Absence sharpens love, presence strengthens it. 相聚爱益切,离别情更深. There is almost no such love that can i ...
- strtoul (将字符串转换成无符号长整型数)
strtoul strtoul (将字符串转换成无符号长整型数) 相关函数 atof,atoi,atol,strtod,strtol 表头文件 #include<stdlib.h> 定义函 ...
- git 和 github的学习
第一部分:我的github地址 https://github.com/Ly1235/gitLeaming 第二部分:git 和 github Git是一款免费.开源的分布式版本控制系统.gitHub是 ...
- NO.008-2018.02.13《折桂令·春情》元代:徐再思
折桂令·春情_古诗文网 折桂令·春情 元代:徐再思 平生不会相思,才会相思,便害相思.生下来以后还不会相思,才刚刚懂了什么是相思,却深受着相思之苦. 身似浮云,心如飞絮,气若游丝.身像飘浮的云,心 ...
- Flexbox 布局的最简单表单
作者: 阮一峰 日期: 2018年10月18日 弹性布局(Flexbox)逐渐流行,越来越多人使用,因为它写 CSS 布局真是太方便了. 三年前,我写过 Flexbox 的介绍(上,下),但是有些地方 ...