Flask—10-项目部署(02)
项目部署
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)相关推荐
- Flask框架项目部署:阿里云CentOS操作系统
Flask框架部署:阿里云CentOS操作系统 写在前面 一. 部署前的准备 1. 一个已在开发环境中完成的Flask项目 1)关于依赖包 2)关于环境变量 2. 阿里云CentOS操作系统云服务器 ...
- 【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04
一.开发测试环境介绍 前提已经部署完[基于Python+Flask项目部署系列--02]Ubuntu16.04服务器安装.建议部署2套环境:开发测试环境+生产环境. 这篇文章主要讲解测试环境如何配置p ...
- Python Flask项目部署
Python Flask项目部署 说明:本次安装为Centos7最小化环境下的安装 一.Python3.6安装 1.安装包下载 下载Python3.6(Python-3.6.7.tgz)的安装包. 2 ...
- Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl
Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...
- centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署
前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...
- 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)
云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...
- Flask项目部署到Windows服务器
Flask项目部署到Windows服务器 在开发调试Flask项目时,之所以能运行,是因为Flask框架自带了一个开发用的WSGI server,要将写好的flask项目部署到生产环境,需要一个性能更 ...
- Python-Web项目部署-欧阳桫-专题视频课程
Python-Web项目部署-142人已学习 课程介绍 手把手带你从零开始将PythonWeb应用部署到阿里云 课程收益 掌握PythonWeb应用的部署方式 讲师介绍 ...
- linux中项目部署和日志查看
1 查找进程 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. ps -ef | grep java 查看所有关于java的进程 root ...
最新文章
- php-dev离线安装,局域网 pm2 离线安装
- Visual Studio 2010/2013 UTF8编码调试时显示中文
- 1021. Deepest Root (25)
- UITableView,UICollectionView,UIScrollView快速返回顶部
- 静态链接与动态链接的区别
- mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
- python判断list集合中是否包含某个元素_python怎样判断list是否包含某个元素
- mysql deadlock 记录_MySQL DeadLock故障排查全过程记录
- 用scikit-learn和pandas实现线性回归
- python语言入门-Python语言入门.pdf
- cyhper study
- 地址栏js的写法(转载)
- 运行navicat报出Missing required library libmysql_d.dll,126问题
- 浏览器错误信息无法解析服务器,win10系统使用搜狗浏览器提示无法解析服务器的dns地址的修复教程...
- 熊博士c语言,InstallShield2015制作安装包----------安装后实现电脑开机自启动
- 基于OpenCV的 桌面手机的尺寸测量
- JScript.net
- win7计算机ip地址怎么查,win7电脑的IP地址怎样查看
- 思科服务器首页怎么修改,修改思科服务器cimc地址
- Linux下Oracle开机自启动
热门文章
- js 线段上某点的坐标_测绘测量中常用的坐标系
- SpringBoot POM说明
- D3 Handling Events
- 4.3 深层网络中的前向传播
- numpy.core.defchararray.join
- java学习文档_阿里技术专家带你玩转JVM,从底层源码到项目实战,都在这份文档里...
- 国二C语言大题评分,计算机二级C语言题型和评分标准
- Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试
- foxmail7 BUILD093之后再无Foxmail
- Kubernetes 学习总结(23)—— 2022 年 Kubernetes 的 5 个趋势