余光
楼主
发布于 2023-4-19 11:19:45
阅读 2694
查看全部
本文章的所有代码和相关文章, 仅用于经历技术交流分享,制止将相关技术应用到不正当途径,滥用技术产生的风险与自己无关。
本文章是自己学习的一些记录。
首先
经过两天的折腾,终于把我做的基于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
然后 哈哈就可以访问了
希望可以为其他想部署的小伙伴提供参考
欢送大家点赞、转发、收藏 |
|