您现在的位置是:群英 > 网络安全 > 安全技术
flask视频网站项目如何部署?
Admin发表于 2023-05-26 11:54:26339 次浏览
这篇文章主要给大家介绍“flask视频网站项目如何部署?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“flask视频网站项目如何部署?”文章能对大家有所帮助。


一、效果演示

首页展示

播放页面

该项目部署只为学习,所以用的服务器是群英鹰云服务器10元/月,域名也是在群英鹰云云买的.com 55元/年  因为本人比较穷 哈哈

 

这个服务器纯粹是为新手准备的,1M带宽 速度堪称蜗牛,不过价格是真心便宜,适合练手。。。

废话不多说下面我们开始项目部署

二、准备云服务器

服务器镜像我们选择CentOS 7.2 64位

服务器买完后点击控制台进入如下页面

找到我们购买的服务器查看公网ip地址,我的这里为49.232.24.154 端口默认为22

那么22端口又是干什么的呢?

说白了就是我们用于连接liunx服务器的,我用的连接工具是xshell 点击下载

打开后界面如下:

在这里我们输入连接服务器的命令

# root为默认的主机名
ssh root@49.232.24.154

接下来会让我们输入服务器的密码

如果忘记密码需要重置密码

三、环境准备

成功连接服务器后接下来就要准备运行Flask项目所需要的必备环境了;

点击查看python3.6编译安装 

mongodb安装

yum install mongodb-server
yum install mongodb 启动服务端 systemctl start mongod 查看端口 netstat
-tunlp 默认端口为27017 查看进程 ps -ef|grep mongo

在部署项目之前需要我们将Windows上的mongodb数据库中的数据导出

导出命令

# 在cmd命令行执行
mongoexport -d [数据库名] -c [表名] -o [文件名字]  文件后缀为json格式

四、上传项目文件

Windows与liunx文件互传需要用到lrzsz

在服务器上安装

yum install lrzsz 
# 安装完直接从win拖到liunx指定目录即可
# 通常我们将项目文件放在opt下

我们需要将Windows中的项目文件压缩成zip文件上传至服务器opt的目录下

在服务器上我们需要将项目的压缩文件解压缩

# 解压缩命令
unzip 【项目名.zip】

项目所依赖的python模块

# 安装命令
pip3 install 模块名

将Windows上mongodb的数据文件【json格式】上传到服务器并导入mongodb中

# 导入命令
mongoimport -d [数据库名] -c [表名] --upsert [需要导入的文件路径]

至此我们就将部署项目所依赖的环境和数据都上传到了服务器,接下来开始表演。。。

五、安装gunicorn启动Flask服务

  在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。

  Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。 Gunicorn 服务器与许多 Web 框架广泛兼容,简单实现,轻松服务器资源并且速度相当快。

区分几个概念:

WSGI:全称是Web Server Gateway Interface(web服务器网关接口),它是一种规范,它是web服务器和web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。

uwsgi:是一种传输协议,用于定义传输信息的类型。

uWSGI:是实现了uwsgi协议WSGI的web服务器。

我们的部署方式: nginx + gunicorn + flask

  

  Gunicorn 服务器作为 wsgi app 的容器,能够与各种 Web 框架兼容(flask,django 等),得益于 gevent 等技术,使用 Gunicorn 能够在基本不改变 wsgi app 代码的前提下,大幅度提高 wsgi app 的性能。

安装命令

# 在liunx命令行执行
pip3 install gunicorn

基于Gunicorn启动我们的Flask项目

gunicorn -w 4 -b 127.0.0.1:5001 manage:app   用gunicorn启动flask服务

-w 4              [开启4个进程]
-b 127.0.0.1:5001 [启动flask服务的ip+端口]
manage            [启动flask服务的文件名.py]
app               [项目实例]

这里注意:想要用gunicorn启动你的项目,需要先把项目所依赖的python模块下载下来例如:pymongo

启动Flask项目后查看Gunicorn进程命令

这样我们的项目就在服务器上跑起来了  开森 ~~~

你以为这样就完事儿了么,no no no 我们的项目指定的是本地回环地址【127.0.0.1】,也就是只有本机才可以访问这个项目;

为了我们的项目能够实现高并发我们还需要配置nginx;

六、Nginx反向代理Flask项目

  Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

点击查看编译安装步骤

关于nginx更多说明

nginx配置文件配置

# 进入opt目录下 进入nginx配置文件
cd tngx231/conf/
vim nginx.conf

# 进行如下配置
server {
    # 监听80端口
    listen 80;
    # 本机
    server_name localhost; 
    # 默认请求的url
    location / {
        #请求转发到gunicorn服务器
        proxy_pass http://127.0.0.1:5001;  # 这里的ip+端口就是我们启动flak的ip和端口
        #设置请求头,并将头信息传递给服务器端 
        proxy_set_header Host $host; 
    }
}

配置完nginx需要重启nginx配置文件才会生效,选用平滑重启

七、配置云服务器的安全组防火墙

默认是方通全部端口,我们选择第二个

端口说明

22   端口 【ssh连接服务器】

80   端口 【浏览网页服务默认的端口号】

443  端口 【网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP】

3389 端口 【Windows 2000(2003) Server远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,因此远程服务器一般都将这个端口修改数值或者关闭。】

ICMP 协议 【ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 [3]  它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。】

至此我们就完成了Flask项目部署到云服务器上的所有流程,可以通过公网ip访问我们的项目了,但是ip太长了不好记,我这个记忆力。。。。。。so 决定买一个域名绑定我们的ip,这样我们以后就可以直接在浏览器上输入域名来访问我们的项目了;

八、绑定域名

  网域名称系统(DNS,Domain Name System,将域名和IP地址相互映射的一个分布式数据库)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

域名购买地址

购买前需要查询你要注册的域名是否已经被注册

购买后点击云产品下的移动解析httpDNS

需要进行实名认证,按照提示照做就行

进入域名解析列表点击默认是没有记录的,点击添加记录

解析域名

ok大功告成,按照我的步骤一步一步操作就可以轻松将你的web项目部署到云服务器上;

最后因路径问题找不到文件,因为我在本地把路径写死了,没有写死的可自行忽略

项目中涉及路径查找
import os
# 跟目录
MOVIE_TXT_PATH=os.path.dirname(os.path.dirname(os.path.abspath(__name__)))

嘀 嘀 嘀 欢迎访问我的第一个网站http://www.flaskvideo.com  至于为什么域名用这个,因为我用的Flask框架搭建的视频网站,刚开始想做影评网站的,一不小心做成视频了。。。

九、防止被黑客攻击

修改ssh连接端口

# 不要让22号端口暴露在公网中
[root@VM_0_6_centos ssh]# vim sshd_config

修改后重新连接

数据库创建密码

自行百度

注意:在我们用nginx做反向代理的时候一定要看看端口我们是否在安全组中有配置放行,只有放行的端口才可以访问


以上就是关于“flask视频网站项目如何部署?”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2023-05-26 11:11:42 
摘要:CDN与缓存的归纳理解
2021-12-15 18:02:00 
摘要:这篇文章我们来了解web安全认证的几种常见方式,下文给大家介绍了五种,都有很详细的介绍,有需要的朋友可以参考了解,感兴趣的朋友接下来就跟随小编来了解看看吧!
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部