flask视频网站项目如何部署?
Admin 2023-05-24 群英技术资讯 333 次浏览
首页展示
播放页面
该项目部署只为学习,所以用的服务器是群英鹰云服务器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 [需要导入的文件路径]
至此我们就将部署项目所依赖的环境和数据都上传到了服务器,接下来开始表演。。。
在生产环境中,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 (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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
入侵检测系统是什么?一些朋友对于入侵检测系统不是很了解,对其实现入侵检测比较好奇,对此本文就给大家来简单的介绍一下入侵检测系统,感兴趣的朋友就继续往下看吧。
常见web安全隐患有什么?对于web安全隐患是需要重视,一般比较常见的有跨站脚本攻击、SQL注入、跨站请求伪造、文件上传漏洞等等,这篇就主要给大家讲讲这四种情况该怎么样处理解决,希望能对大家有所帮助。
网络攻击事件常常会发生,黑客现在对于云服务器的攻击频率更是要比以前高,对黑客攻击手段有所认识是有必要的。那么,黑客有哪些常用来攻击云服务器的手段呢?
近些年,服务器中毒的事件也是常有,而服务器中毒造成的影响可想而知。那么我们该如何防范服务器中毒呢?接下来给大家讲讲需要注意的几个问题,及规范方案。
随着互联网的快速发展和广泛的应用,黑客进行网络攻击的手段也越来越多,互联网安全面临众多威胁,网络安全问题不得不引起重视。这篇文章就主要介绍十大常见网络攻击行为,希望对大家做好有效的安全防御有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008