Python Flask 部署到阿里云服务器

您所在的位置:网站首页 flask应用部署到linux服务器 Python Flask 部署到阿里云服务器

Python Flask 部署到阿里云服务器

2023-10-02 22:59| 来源: 网络整理| 查看: 265

本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关。 本文章是自己学习的一些记录。

首先

经过两天的折腾,终于把我做的基于flask框架的网页部署到了阿里云服务器上面,地址:http://39.98.155.118:5657/大家可以去访问,查了一些资料和视频打了基础,最终是咨询了一位大佬,成功部署。当天下午我又自己部署了一个网站,验证了操作步骤。啊,终于搞定了,所以写一篇博客记录一下,同时也为其他小伙伴提供一些参考。

购买服务器

首先,作为学生党,阿里云有一个学生阿里云高校计划,链接:https://developer.aliyun.com/adc/student/ 在这里插入图片描述 在这里插入图片描述 2核 4G内存,可以白嫖,需要学生认证,并且要通过阿里设置的考试,10道选择题吧,在这里我给大家推荐一个视频,里面讲的是整个的这个操作过程,https://www.bilibili.com/video/BV1az4y197fK?from=search&seid=4898932465813963086 按照视频的操作就可以,不过注意一点,在选择操作系统的时候(在控制台ECS里面的实例中,点击管理可以更换操作系统,一开始我跟着视频选择的win ,最后我又换了CentOS 7.7 64位,更换操作系统记得先停止),进入更换系统页面,点击镜像市场,选择宝塔控制面板,在这里附上一个链接,可以参考这个操作,https://blog.csdn.net/u014148630/article/details/104424772?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159667371019195264549686%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159667371019195264549686&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-1-104424772.pc_ecpm_v3_pc_rank_v3&utm_term=%E9%98%BF%E9%87%8C%E4%BA%91%E6%9B%B4%E6%8D%A2%E5%AE%9D%E5%A1%94&spm=1018.2118.3001.4187 安装好宝塔,就需要登陆宝塔了,需要账户和密码。这里通过一个工具远程连接我们的阿里云服务器,我是用的工具是PuTTY,这里附上我下载好的安装包:链接:https://pan.baidu.com/s/1xzCkytx_4eDhHopx0g9wLQ 提取码:3tmf 或者下载宝塔提供的BT-Term,这里将我下载好的附在这里:链接:https://pan.baidu.com/s/1XxsseeUnr-Jg5Fq5a0OkKQ 提取码:yawx 通过远程连接进入到我们的云服务器,在这里插入图片描述 在宝塔终端输入bt default命令来获取我们的账户和密码,

在这里插入图片描述 然后再浏览器中输入服务器的ip+8888端口(记得在阿里云安全组添加规则中将8888端口添加,在控制台实例中右侧点击更多,里面的网络安全组,点击安全组配置,配置规则)当然了,可以快速添加一些常用的端口,具体可以百度一下在这里插入图片描述 添加好后,进入宝塔,输入账户密码登陆 在这里插入图片描述 进入宝塔后,根据提示安装左侧的那些软件。 安装好后,进行下一步

配置环境

我配置环境主要是看了一个视频,跟着上面配置的环境,附上连接: https://www.bilibili.com/video/BV1CJ411y7AW?from=search&seid=4493776471749286114 这个视频的笔记: 链接:https://pan.baidu.com/s/1pXdXJTzO3xt0iLa2sujJ7g 提取码:1kng 跟着这个视频的步骤配置服务器的环境,最好你在本地跑项目的python版本和服务器的版本一致,我的本地python是3.6.7,服务器上面我安装的是3.6.8,没什么问题,如果跟着视频完成了他里面的测试网页成功,说明你的环境配置的成功了,注意一点,最后的location / { include uwsgi_params; uwsgi_pass unix:/www/wwwroot/test/uwsgi/uwsgi.sock; }

location ~ /static/ { #root后面写项目static文件夹在你后台的绝对路径 root /www/wwwroot/test; }的配置,我最后部署自己的没用这么配置,最后我会说。 (首先保证你的项目在你本地是可以跑通的) 接下来部署我们自己的项目的几个重要的基本步骤

部署

首先我们在本地跑项目的时候最好创建虚拟环境进行操作,这个不太熟悉的可以去百度,然后再本地跑通项目在虚拟环境安装的包,例如flask pysqlite3可以通过一个命令来将这些包打包成依赖模块,这样子啊服务器上面就不用再pip安装了,直接调用(大佬教我的),这个命令是:pip freeze >requirements.txt 这个命令在pycharm中项目虚拟环境的终端运行即可,然后生成 在这里插入图片描述 在这里我们还需要一个工具将我们的文件传到云服务器,我是用的是WinSCP,登陆时主机名是服务器公网的ip,用户名是root,附链接:链接:https://pan.baidu.com/s/1AzSBRH5rpwg4kMESZnU0FQ 提取码:1hxk 在服务器上的/www/wwwroot路径下传入我们的文件夹,例如我的文件夹名称是webtest 在这里插入图片描述 webtest文件夹下面包含:(1)包含启动.py文件,静态文件夹static,html模板文件夹templates,还有以来模块文件requirements.txt(所用的命令是pip freeze >requirements.txt),uwsgi文件夹,__pycache__文件夹(这个是在本地生成的),还有gunicorn.conf文件 gunicorn.conf文件的内容:

bind = '0.0.0.0:2222' #可改动端口号 端口号记得在服务器添加,并在宝塔的安全里面放行该端口 user = 'www' workers = 1 threads = 2 backlog = 512 daemon = True chdir = '/www/wwwroot/webtest' #换成自己文件夹的路径,基本就改最后一个 access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"' loglevel = 'info' worker_class = 'geventwebsocket.gunicorn.workers.GeventWebSocketWorker' errorlog = chdir + '/logs/error.log' accesslog = chdir + '/logs/access.log' pidfile = chdir + '/logs/testtest.pid'

在这里我传一份conf文件吧:链接:https://pan.baidu.com/s/13j9D3ADc2sU22968wfMhVw 提取码:qzh0 剩下的不动,然后在宝塔操作: 1、在宝塔安装下载python项目管理器 在这里插入图片描述 2、下载好后打开,添加项目 在这里插入图片描述 按照我上面写的操作就可以,添加项目完成后,出来记得点击映射在这里插入图片描述 在这里插入图片描述 映射域名随便写就行 这些操作后,在我们服务器项目的文件当中就自动生成了几个文件,在这里插入图片描述 1、2红色箭头是我们在宝塔添加项目成功后自动生成的 3、在完成了上面的步骤后,(注意一点,端口号在服务器添加上,并且在宝塔安全上面进行放行) 在这里插入图片描述 例如我添加的是我的公网ip+端口号:39.98.155.118:5657 然后 哈哈就可以访问了 在这里插入图片描述 希望可以为其他想部署的小伙伴提供参考 欢迎大家点赞、转发、收藏



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3