从零基础到成功部署的路上,花了三天两夜时间,苦尽甘来呀。废话不多说。
首先:要在云服务器上部署flask项目,首先选择自己所需要的云服务器操作系统,本人使用centOS7.9版本作为云服务器的操作系统。
在得到云服务器,根据阿里云有关ECS新手指引中学到的,进入实例与镜像->实例->管理->修改云服务器登陆密码(新创的服务器需要等待5分钟)。在这段时间,可以熟悉云服务器分配到的公网ip和私网ip,远程连接有三种模式,Workbench、VNC和发送远程命令,其中Workbench模式适合没有安装第三方软件远程操作云服务器的人使用,缺点就是没办法手动传输文件,只能通过命令在进行安装(可能是我没摸索到);VNC模式不太适合长时间没有任何操作的人使用,否则会断开连接;发送远程命令模式,虽然可以输入一些值马上就能得到回应,可是操作起来较为繁琐。综上所述,Workbench进行远程连接是不错的选择,但为了能手动传输文件,我选择了SecureCRT进行远程服务器进行部署。
1:通过在云服务器上进行安装宝塔:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
安装完成将示宝塔后台地址和账号密码,可以手动复制到记事本暂时存起来。
随后进入云服务器的安全组,选中所要配置的云服务器用户名,放行8888端口,紧接着将复制宝塔后台地址,进行登陆,一键安装LNMP配置,里面有需要的nginx和mysql。
2:随后远程登陆云服务器,安装python3 和gunicorn ,在安装python3时,需要与centOS7中自带python2.7区分开,通过查资料配置命令区分并配置不同文件夹和调用命令:(很重要,安装在一起,或者没有实现共存,那只好格式化硬盘了,教训呀....)
3:配置nginx配置文件,配置文件中需要注意server_name 是指想要访问的公网ip ; location中的prox——pass 则是为了配合gunicorn使用的,启用gunicorn时可能存在“找不到这个命令”,这是需要进行“find / -name ‘gunicorn’”,找到gunicorn的路径,进行全路径启用就可以了,完成nginx和gunicorn的配置和调用已基本完成了部署。
4:将flask项目文件打包传输到云服务,并进行连接mysql的host、user、password、database和字符集的配置!!!!!!否则前端无法获取数据库的数据。想到这些点还不够,还有最最最最关键的一步就是,给mysql的3360端口配置防火墙权限 以及修改云服务器的安全组!!!!! 这是血的教训!!!!
成功部署的ip地址:8.130.19.140
由于时间有限,没办法一一整理和重新敲命令行,精辟地制作成部署flask教程,只能把自己踩过的坑都讲出来了。