基于flask搭建微电影网站,部署测试

Flask_Moive

用Flask构建一个微电影视频网站。

  

1.Flask:Flask扩展丰富,不臃肿,可自由选择组合各种插件,性能优越,相比其他的web框架十分的轻量级,设计哲学很优雅,易于学习,小型的项目快速的开发,大型的项目也没压力。非常的灵活。
2.Django:Django是重量级全能型的web框架,功能完全,但是有点臃肿,自带的ORM和模板引擎,灵活和自由度不高,开发小型项目的时候显得臃肿和庞大,但是,Django仍然也非常的优秀。
3.Tornado:Tornado是一个强大的、支持协程、高效并发且可扩展的web服务器,Tornado的强大在可以利用它的异步协程机制开发高并发的服务器系统。

本项目采用的技术

  • 使用整型、浮点型、路劲型、字符串型、正则表达式路由转换器;
  • post、get请求、上传文件、cookie获取与响应、session、404处理;
  • 模板自定义转义、定义过滤器、定义全局上下文处理器、Jinja2语法、包含继承、定义宏等;
  • 使用Flask-wtf定义表单模型、字段类型、字段验证、视图处理表单、模板使用表单;
  • Falsk-sqlalchemy定义数据库模型、添加数据、修改、查询、删除数据、数据库时间、数据迁移;
  • 蓝图优化项目结构,实现网站的前台和后台的业务逻辑;

小扩展:什么是蓝图? 一个应用中或跨应用制作应用组件和支持通用的模式;

1.定义蓝图(app/admin/init.py)

from flask import Blueprint
admin = Blueprint("admin",__name__)
import views

2.注册蓝图(app/init.py)

from admin import admin as admin_blueprint
app.register_blueprint(admin_blueprint,url_prefix="/admin")

3.调用蓝图(app/admin/views.py)

from . improt admin
@admin.route("/")


部署环节

注意

  1. flask扩展需要自行安装

  2. 必须安装redis,否则弹幕功能无效

  3. 必须修改app文件夹里面的__init__.py文件

  4. 远程连接你的数据库也好,你用xshell也好,记得先把数据库文件导入进你创建好的数据库

导入方法:source 你数据库文件的路径

首先你先把我的项目弄到你本地

其次在你的服务器上安装相关依赖的前提下,我非常诚恳的和你说:记得安装虚拟环境!

安装Python3:Centos7内置了Python2.7版本,yum要使用Python2.7,所以不能将内置的Python2.7卸载,而是进行兼容。 安装Python3并且兼容参考:

看这里

不要忘记先安装依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

然后biubiubiu安装MySQL、Nginx、pip虚拟环境(自行百度)

因为我自己是用了宝塔第三方的面板安装:所以emmm很方便

当你把所有的环境都安装好了!!!!

当一切都准备就绪之后,你就可以配置你的uwsgi.ini文件了(胜利就在眼前了!!!)

[uwsgi]

# uwsgi 启动时所使用的地址与端口

socket=127.0.0.1:端口自己填
#虚拟环境目录 
home = 你虚拟环境目录(如果你没创建虚拟环境,就找到python环境)

#指向网站根目录
chdir = 你的网站根目录

#python启动程序文件
wsgi-file = manage.py

#python程序内用于启动的application变量名
callable = app

#处理器数
processes = 4

#线程数
threads = 2

#状态监测地址
#stats = 127.0.0.1:9191

#vacuum :当服务器退出的时候自动清理环境,删除unix socket文件和pid文件
vacuum          = true

#守护进程
daemonize       = 选择根目录创建日志文件

# 进程pid
pidfile=uwsgi.pid


当你配置好这些只好!!!!如果没有设置Nginx代理转发,你直接uwsgi uwsgi.ini启动就完事了,如果你设置了Nginx的话,往下看OVO

1.找到nginx的配置文件(鬼知道你放在哪里,名字叫:nginx.conf。默认位置:vim /usr/local/nginx/conf/nginx.conf)如果是宝塔用户,ok~直接面板下找到网站站点配置文件修改。

2.那么你会问配置文件咋改呢?

直接在server中加入这个:

location / {
            #root   html;
            #index  index.html index.htm;
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:你自己uwsgi.ini设置的端口; #转发uwsgi
            uwsgi_param UWSGI_PYHOME ////; # 指向虚拟环境目录
            uwsgi_param UWSGI_CHDIR  ////; # 指向网站根目录
            uwsgi_param UWSGI_SCRIPT 启动app名字:app; # 指定启动程序
        }

3.配置好,你重启nginx和uwsgi 就完事了。

4.nginx访问限制。如果你希望去看你网站视频的人流量限制的话,把nginx文件改改,添加以下的在上面的配置文件下面,注意花括号!!!!(小声bb:没人会去你网站的):

# 对.flv的格式视频做限制
        location ~ \.flv$ {
            limit_conn addr 1; #用于限制每个IP每次请求的数量
            limit_rate 1024k; #用于限制每个IP每次请求的大小
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8080; #转发uwsgi
            uwsgi_param UWSGI_PYHOME /home/www/movie; # 指向虚拟环境目录
            uwsgi_param UWSGI_CHDIR  /home/www/movie; # 指向网站根目录
            uwsgi_param UWSGI_SCRIPT movie:app;              
            }
        # 对.mp4的格式视频做限制
        location ~ \.mp4$ {
            limit_conn addr 1; #用于限制每个IP每次请求的数量
            limit_rate 1024k;  #用于限制每个IP每次请求的大小
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8080; #转发uwsgi
            uwsgi_param UWSGI_PYHOME /home/www/movie; # 指向虚拟环境目录           
            uwsgi_param UWSGI_CHDIR  /home/www/movie; # 指向网站根目录            
            uwsgi_param UWSGI_SCRIPT movie:app;                }


恭喜你,当你看到这里,就证明你已经完成了配置部署,如果没有成功!!!欢迎骚扰我-VX:LE19980630


最后修改:2019 年 08 月 09 日 04 : 25 PM
这不叫给钱,是打赏。

发表评论