首先需要在阿里云上申请一个云服务器,新人用户可以免费申请一个月的云服务器(但是配置比较低,建议大家拿这个免费的服务器先练练手),申请完后为服务器实例设置一个密码,用户名一般为root,这里省略申请服务器和设置密码的步骤。
然后下载Xshell,新建一个会话,名称可以自定义,主机填入自己申请的云服务器的公网IP
然后在新建会线;设置用户名和密码,用户名和密码为前一步你申请完云服务器并创建实例后自己设置的,用户名默认为root。
设置好后点击连接,即可通过Xshell连接你申请的云服务器,如下图所示,连接成功
由于我申请的服务器的环境为CentOS系统,因此我们选择页面中的CentOS安装脚本进行宝塔面板的安装
安装成功后,会在黑窗口中显示宝塔面板的外网面板地址、内网面板地址、username和password
复制外网面板地址,在浏览器中粘贴后即可进入宝塔面板的页面(由于外网面板地址的端口号默认为8888,因此你需要先去阿里云中的安全组中手动开放8888端口,才可以成功进入宝塔页面)
第一次进入宝塔面板页面会让你先注册宝塔账号,注册成功后会弹出两个环境部署方案,让你选择一个环境部署方案来一键配置宝塔所指定的环境。这里可以按自己的个人需求来选择,我选择的是第一个部署方案,此处步骤省略
在本地中将你的Flask项目文件打包,然后在宝塔面板左侧点击文件,在根目录 路径下新建一个文件夹,这里我新建了一个名字叫server的文件夹,用于存放咱们的Flask项目文件
具体步骤为将你刚刚打包好的Flask项目文件压缩包上传到server文件夹中,然后在server文件夹中将其解压,由于解压后会在server文件夹中得到一个新文件夹,而Flask项目文件都在这个解压后得到的新文件夹中,因此你需要将解压后得到的新文件夹中的Flask项目文件全部剪切,并粘贴回server文件夹中
为了方便后续的配置,我们还需要往www/wwwroot/server中上传一份requirements.txt文件,该文件包含了你的Flask项目所需要的所有Python包,该文件格式如下所示
接下来我们需要手动配置用于部署Flask项目的其他所需的环境,在宝塔面板中点击左侧的软件商店,搜索Python项目管理器并安装,Python项目管理器用来部署Flask项目,并可以通过它安装你的Flask项目所需的Python包
安装Python项目管理器成功后,点击设置,点击版本管理,安装和你Flask项目相对应的Python版本,这里我安装的是3.6.15版本的Python
安装好Python之后,点击项目管理再点击添加项目,就可以配置你的Flask项目了
项目名称可自定义,路径为/www/wwwroot/server(因为之前把Flask项目文件放在该文件夹中了),启动文件我填的是/www/wwwroot/server/app.py(因为我的Flask项目的启动文件为app.py),端口我填的是5000,然后勾选开机启动和是否安装模块依赖,点击确定
耐心等待安装,该过程中可能有些包安装不上,你可以点击日志查看安装错误信息,也可以点击模块来找缺失的python包
由于我采用的是redis数据库作为中间件,因此这里展示如何配置redis
PS. 上述设置可根据你的实际情况来,bind为127.0.0.1的时候requirepass可留空,然后你需要去你的阿里云开放6379这个端口,方法在前面已经介绍过了
由于我的Flask项目中结合了celery模块来处理高并发,因此需要确保Flask项目中运用celery模块的文件中的redis的配置和刚刚在宝塔中配置的一样,都是127.0.0.1这个地址,它代表服务器的本地地址
我前端是用Vue框架搭建的,然后需要确保你的前端传数据给后端的url地址为你的云服务器的公网ip:5000,5000这个端口号是前面配置Flask项目环境的时候设置好的端口号
最后,务必确保上述所有端口号都在你的云服务器中授权对外开放,否则可能出现中间某些环节连接不上的情况