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框架的更多相关文章

  1. [转载] 新兵训练营系列课程——平台服务部署及Web框架

    原文: http://weibo.com/p/1001643875679132642345 大纲 微博平台主要负责微博基础功能.接下来将会介绍 平台的作用,以及服务提供的形式 平台Web服务的部署 平 ...

  2. 教程:在 Visual Studio 中开始使用 Flask Web 框架

    教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...

  3. 04 返回静态文件的函数web框架

    04 返回静态文件的函数web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bind((" ...

  4. 如何使用Nginx和uWSGI或Gunicorn在Ubuntu上部署Flask Web应用

    你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能. 此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/151981 ...

  5. 以守护进程的方式部署flask

    1.文件目录 创建一个简单的flask 项目... application = Flask(__name__) application.debug = True 2.安装wsgi pip instal ...

  6. Python-S9-Day115——Flask Web框架基础

    01 今日内容概要 02 内容回顾 03 Flask框架:配置文件导入原理 04 Flask框架:配置文件使用 05 Flask框架:路由系统 06 Flask框架:请求和响应相关 07 示例:学生管 ...

  7. Python Flask Web 框架入门

    Python Flask 目录 本文主要借鉴 letiantian 的文章 http://www.letiantian.me/learn-flask/ 一.简介 二.安装 三.初始化Flask 四.获 ...

  8. python Flask web框架

    目录: --> Flask --> 配置文件 --> 配置文件解析 --> 配置文件导入 --> 路由 --> 路由参数 --> 常用路由匹配 --> ...

  9. 比我的脸还干的gan货——Python Flask Web 框架入门

    Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行.是的,所以读者需要自己在电 ...

随机推荐

  1. 从零开始的全栈工程师——underscore

    underscore 是js封装的一个js库 库和框架是有区别的 mvc框架就是backbone就是依赖这个库underscore就是定义了一个_( 下划线对象 ); 函数库的所有的方法都归属于这个对 ...

  2. .NET开源工作流RoadFlow-表单设计-数据表格

    数据表格即在表单中显示一个table,该table数据可以来自任意自定义的来源: 数据类型:指定表格的数据源类型 1.datatable,即.net中的System.Data.DataTable 2. ...

  3. cordova 开发 ios app 简要流程

    1  安装node.js环境 官网: http://nodejs.org/ 点击[install],会下载mac的安装包.正常安装即可 2 安装cordova:npm install -g cordo ...

  4. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 6、总结

    安装小结 安装完成后,首先我们需要将Datastore托管给Server,再将Server托管给Portal以此来完成整个单机版Enterprise 部署流程.为了测试流程是否正确,我们可以采用上传一 ...

  5. matlab练习程序(矩形变换为圆)

    最近对图像坐标的变换很感兴趣啊,这次是将一张图像变换为圆形. 变换原理就是按变换前后像素到圆心的距离按比例缩减就行了. 改变x,y方向上的系数,应该还可以变换为椭圆,不过我还没有尝试. 注意我这里相当 ...

  6. 【NLP_Stanford课堂】词形规范化

    一.为什么要规范化 在做信息检索的时候,一般都是精确匹配,如果不做规范化,难以做查询,比如用U.S.A去检索文本,结果文本里实际上存的是USA,那么实际上应该能查到的结果查不到了. 所以需要对所有内容 ...

  7. monkeyrunner之安卓开发环境搭建(二)

    在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...

  8. diskpart分区

    分区知识充电: 主分区:主分区,也称为主磁盘分区,和拓展分区.逻辑分区一样,是一种分区类型.主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁(在这一点上主分区和逻辑分区很相似,但主分 ...

  9. STM32-F429ZIT6-开发流程

    ---恢复内容开始--- 一.开发环境搭建 1.编译器安装破解 2.STM32Cube MX安装 3.驱动安装 4.固件库安装 二.硬件准备 1.PC 2.STM32开发板 3.下载线 三.资料准备 ...

  10. Android进阶笔记10:ListView篇之ListView显示多种类型的条目(item)

    ListView可以显示多种类型的条目布局,这里写显示两种布局的情况,其他类似. 1. 这是MainActivity,MainActivity的布局就是一个ListView,太简单了这里就不写了,直接 ...