python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)

之前在 虫大 实训做的项目:最近在写简历进行整理,发现之前和现在一样最麻烦的还是后端的部署(应该算?),搞了几天,烦死了,所以记录一下

阿里云服务器(白嫖版)

学生认证能白嫖7个月,传送门:高校计划-免费学生云服务器
python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第1张图片

  • 注意:记得重置实例密码,这玩意儿也是ssh的密码(划重点),真的很烦!!!
    在这里插入图片描述

Linux连接服务器

	ssh username@公网IP
	# username一般是root,公网IP在实例页面能看到

安装宝塔面板

跟着这篇文章搞得,很简单:https://blog.csdn.net/zengxiangyu0406/article/details/121663130

准备

  • 应该算是,反正通过公网IP+端口可以访问到了,但应该不算完全部署?(主要是学生不想买域名)
  • 将项目代码压缩打包(我打包为.zip)
  • 将打包好的文件通过Xshell从windows发送到linux虚拟机
    • 如果是直接在windows系统下打开的宝塔面板,则选择“上传目录”,将源代码项目的目录上传。
  • 打开宝塔页面上传文件,将压缩包上传到~/www/wwwroot
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第2张图片
  • 双击解压,将压缩包删除
  • 打开终端,cd到该项目的需要运行的代码文件位置,譬如main.py(在文件页直接打开终端,会自动跳转在该地址)
  • 使用命令行运行,不能直接使用py main.py会报错python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第3张图片
  • 使用python3 main.py才能运行(取决于电脑python环境版本)同时下载所需的模块
    pip install 所需模块
    
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

Nginx 反向代理

详细的Nginx配置——反向代理及其配置内容含义看:Nginx配置——反向代理

  • 下载Nginx 1.22
    在这里插入图片描述

  • 配置方法1
    配置也可以通过文件找到Nginx的conf文件进行修改:
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第4张图片

  • 配置方法2
    我是直接在下载页面进行修改的(懒)。
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第5张图片

    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第6张图片

    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第7张图片

  • 配置完成之后需要重载配置重启Nginx服务
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第8张图片

  • Nginx当时在配置的时候,那个技术老师让我弄了个守护进程?我不太记得是咋搞的了,似乎也不影响使用就没弄啦,这里。

测试(Apifox)

  • 将上传的文件在终端运行
  • 使用Apifox进行接口测试,返回 “200 ok”。
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第9张图片
    python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第10张图片

端口放行

如果出现连接错误,可以看看实例的安全组规则
python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第11张图片

和宝塔面板-安全-系统防火墙-防火墙开关的端口规则是否都将你需要访问的端口放行了。 python-flask项目部署到阿里云服务器(宝塔面板/Nginx反向代理)_第12张图片

写在最后

当时实训还是蛮有意思的,也学到了蛮多东西。
但是给我印象最深的居然是,当时除了一点问题配置怎么都解决不了,当时主要的技术老师也不在,负责管理和监督的老师就带着我们去找了一个那个教育机构的一个“大牛”吧,他当时知道我们用的宝塔面板和Nginx,直接来了一句“怎么用这么low的,为啥不用虚拟机连服务器”,当时场面一整个大尴尬,他也不愿意给我们看,然后没解决,最后还是拖到最后技术老师回来才解决。
第一次认识到技术也是有鄙视链的,但是当时我们都只是大二的学生且那只是一个为期两周的学生实训,还蛮emmmmm…d
或许有人知道“虚拟机连服务器”是啥吗?我现在还是不太懂那是啥意思,百度搜到的内容也很奇怪,需要些什么,域名?云服务器?如果有知道的且看到这里的可以分享一下吗?相关学习链接也可以,谢谢捏。

你可能感兴趣的:(实操杂记,flask,阿里云,Nginx反向代理,宝塔面板,python)