项目部署

WEB工作原理

  • 客户端(chrom) <=> WEB服务器(nginx) <=> WSGI(uWSGI) <=> Python(Flask) <=> 数据库(MySQL)
  • Flask框架自带一个测试服务器,开发时直接运行即可;但是在生成环境中,必须进行完整部署。

nginx服务器

  • 安装:sudo apt-get install nginx

  • 添加虚拟主机:

    • /etc/nginx/sites-available目录下创建虚拟主机配置文件www.blog.com
    server {listen 80;server_name www.blog.com blog.com;location / {root /var/www/blog;index idnex.html;}
    }
    
    • 创建软链接
    sudo ln -s /etc/nginx/sites-available/www.blog.com /etc/nginx/sites-enabled
    
    • 重启nginx服务(若重启失败,可以关闭然后再打开)
    • 创建目录:/var/www/blog,然后在目录下创建index.html文件
    • 添加本地域名解析,修改配置文件/etc/hosts,在末尾添加如下内容:
    127.0.0.1    www.blog.com
    127.0.0.1    blog.com
    

移植博客项目

  • 将书写好的项目拷贝到/var/www/blog

uWSGI

  • 说明:是一个实现了WSGI协议的应用程序。

  • 安装:pip3 install uwsgi

  • 配置:

    http:            # 以HTTP协议启动
    socket:            # 以socket方式启动
    chdir:            # uwsgi启动项目的根目录
    wsgi-file:        # 数据交给哪个模块处理
    callable:        # 具体可调用的对象
    daemonize:        # 后台运行(指定一个日志文件即可)
    processes:        # 指定进程数
    threads:        # 指定线程数
    
  • 启动演示(以HTTP协议启动)

    uwsgi --http 127.0.0.1:5000 --wsgi-file blog.py --callable app
    
  • 以socket形式启动

    • nginx转发请求
    server {listen 80;server_name www.blog.com blog.com;location / {#root /var/www/blog;#index idnex.html;# 包含请求参数include uwsgi_params;# 以socket形式转发请求数据uwsgi_pass 127.0.0.1:5000;}
    }
    

    提醒:一定不要忘记重启nginx。

    • 启动uwsgi
    uwsgi --socket 127.0.0.1:5000 --wsgi-file blog.py --callable app
    
    • 将启动参数写入配置文件uwsgi.ini
    [uwsgi]
    socket = 127.0.0.1:5000
    wsgi-file = blog.py
    callable = appp
    # 后台运行
    daemonize = /var/log/uwsgi.log
    

    启动:uwsgi uwsgi.ini

静态资源处理

  • 说明:静态资源nginx可以自行处理,没有必要转发到python中。因此需要添加路由转发规则。

  • 静态资源路由规则:

    location /static {root /var/www/blog;# 等价于alias /var/www/blog/static;
    }
    
  • 测试准备:在blog目录下创建static目录,并拷贝一张图片

  • 在浏览器地址栏输入:www.blog.com/static/gyy.jpg

转载于:https://www.cnblogs.com/swjblog/p/9741827.html

Flask—10-项目部署(02)相关推荐

  1. Flask框架项目部署:阿里云CentOS操作系统

    Flask框架部署:阿里云CentOS操作系统 写在前面 一. 部署前的准备 1. 一个已在开发环境中完成的Flask项目 1)关于依赖包 2)关于环境变量 2. 阿里云CentOS操作系统云服务器 ...

  2. 【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04

    一.开发测试环境介绍 前提已经部署完[基于Python+Flask项目部署系列--02]Ubuntu16.04服务器安装.建议部署2套环境:开发测试环境+生产环境. 这篇文章主要讲解测试环境如何配置p ...

  3. Python Flask项目部署

    Python Flask项目部署 说明:本次安装为Centos7最小化环境下的安装 一.Python3.6安装 1.安装包下载 下载Python3.6(Python-3.6.7.tgz)的安装包. 2 ...

  4. Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl

    Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...

  5. centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署

    前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...

  6. 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)

    云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...

  7. Flask项目部署到Windows服务器

    Flask项目部署到Windows服务器 在开发调试Flask项目时,之所以能运行,是因为Flask框架自带了一个开发用的WSGI server,要将写好的flask项目部署到生产环境,需要一个性能更 ...

  8. Python-Web项目部署-欧阳桫-专题视频课程

    Python-Web项目部署-142人已学习 课程介绍         手把手带你从零开始将PythonWeb应用部署到阿里云 课程收益     掌握PythonWeb应用的部署方式 讲师介绍     ...

  9. linux中项目部署和日志查看

    1 查找进程 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. ps -ef | grep java   查看所有关于java的进程 root     ...

最新文章

  1. php-dev离线安装,局域网 pm2 离线安装
  2. Visual Studio 2010/2013 UTF8编码调试时显示中文
  3. 1021. Deepest Root (25)
  4. UITableView,UICollectionView,UIScrollView快速返回顶部
  5. 静态链接与动态链接的区别
  6. mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
  7. python判断list集合中是否包含某个元素_python怎样判断list是否包含某个元素
  8. mysql deadlock 记录_MySQL DeadLock故障排查全过程记录
  9. 用scikit-learn和pandas实现线性回归
  10. python语言入门-Python语言入门.pdf
  11. cyhper study
  12. 地址栏js的写法(转载)
  13. 运行navicat报出Missing required library libmysql_d.dll,126问题
  14. 浏览器错误信息无法解析服务器,win10系统使用搜狗浏览器提示无法解析服务器的dns地址的修复教程...
  15. 熊博士c语言,InstallShield2015制作安装包----------安装后实现电脑开机自启动
  16. 基于OpenCV的 桌面手机的尺寸测量
  17. JScript.net
  18. win7计算机ip地址怎么查,win7电脑的IP地址怎样查看
  19. 思科服务器首页怎么修改,修改思科服务器cimc地址
  20. Linux下Oracle开机自启动

热门文章

  1. js 线段上某点的坐标_测绘测量中常用的坐标系
  2. SpringBoot POM说明
  3. D3 Handling Events
  4. 4.3 深层网络中的前向传播
  5. numpy.core.defchararray.join
  6. java学习文档_阿里技术专家带你玩转JVM,从底层源码到项目实战,都在这份文档里...
  7. 国二C语言大题评分,计算机二级C语言题型和评分标准
  8. Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试
  9. foxmail7 BUILD093之后再无Foxmail
  10. Kubernetes 学习总结(23)—— 2022 年 Kubernetes 的 5 个趋势