第一步,申请一个服务器(申请过程就省略了,这个很简单,网上也有很多教程)
在这里我白嫖到了7个月的阿里云服务器,以此为例。准备好服务器之后,会获得一个公网IP地址
第二步,准备好flask项目
flask项目中必须包含一个文件requirements.txt,用于写明项目所需要的Python包,否则后续部署项目时会报错。
例如我的项目需要以下这些包
部分app.py代码如图
第三步,使用宝塔
进入宝塔官网宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板,点击立即免费安装
推荐小白使用在线安装
在服务器IP中输入自己申请到的服务器的公网IP,输入自己服务器的密码,然后立即安装到服务器
之后系统会让大家根据自己的需求选择LAMP/LNMP或只安装面板。不想动脑子可以直接选择LAMP或LNMP,
LAMP=Linux+Apache+MySQL+PHP
LNMP=Linux+Nginx+MySQL+PHP
大家可以根据自己的需要选择。熟悉的朋友可以选择只安装面板,然后安装成功后使用在服务器终端手动安装相应的依赖。安装需要30分钟左右,大家耐心等待。
安装完成后页面会弹出一个信息,显示安装成功,并提供一个面板地址,用户名和密码,大家一定要记下来。
用浏览器打开面板地址,输入用户名和密码。
第一次登陆需要大家绑定一个宝塔账号,点击下方注册一个即可
登陆后进入宝塔主页
第四步,上传写好的flask项目
建议上传压缩包,然后再解压。
注意,强烈建议大家把项目上传在www/wwwroot目录下,否则后续的配置会很麻烦,容易出现很多错误。
第五步,下载并设置Python项目管理器
在软件商店搜索Python,下载Python项目管理器,版本任意选一个stable版本即可
在Python项目管理器里安装自己项目所需要的Python版本
第六步,安装进程守护管理器
进程守护器可以使项目异常中断后自动重启
第七步,添加flask项目到Python项目管理器中
(1)项目名称随便输入即可
(2)Python版本选择之前安装的Python管理器中的版本
(3)框架选择flask
(4)启动方式选择uwsgi
(5)项目路径选择上传项目的路径
(6)日志路径会自动生成
(7)启动文件选择project目录下的flask的py文件,我的是app.py
(8)端口设置为8001或5000
(9)运行项目的用户为root
然后点击确定等待flask项目部署。
第八步,配置flask项目的uwsgi
确认 chdir为自己项目的目录
wsgi-file为flask的启动文件
把原始的http改为socket,然后把地址改为127.0.0.1
buffer-size建议改大一点
callable=flask的启动文件名
virtualenv设置为项目文件下自动生成的环境文件夹
如果点确认的时候显示端口已被占用,则需要先打开服务器终端,输入命令
netstat -anp | grep 8001,查看是哪个进程占用了当前端口
接着输入命令 kill -s 9 XXXX,XXXX为占用该端口的进程名
然后再重新配置flask项目的uwsgi
第九步,安装并设置Nginx(关键)
找到server部分,修改server_name为自己服务器的公网ip
修改root为自己的项目目录
添加location,添加
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001; #这个地址和端口号一定要与flask项目中uwsgi配置时的地址和端口号相同
uwsgi_param UWSGI_CHDIR /www/wwwroot/project; #设置为自己的项目目录
添加location /static/
添加alias www/wwwroot/project/static; #表明访问flask中的static目录下的静态文件,如CSS,图片等。
第十步,放行端口
(1)在自己的服务器添加安全组并放行对应的端口
(2)在宝塔里面放行相应的端口
尽量这些都放行
至此,flask项目部署完毕,现在可以通过服务器ip地址访问自己的项目了
版权归原作者 MRJMORIARTY 所有, 如有侵权,请联系我们删除。