服务器:腾讯云服务器->Windows Server 2012R2 IIS
后端接口:python->flask
前端项目:微信小程序
我想跟大家分享一下疫情期间我个人搭建的一个小项目,遇到很多坑,这里为了避免重复踩坑,所以记录一下,欢迎大家一起探讨。
一、部署云服务器
1、登录云服务器
主要项目是微信小程序,所以买了腾讯云的服务器,大家可以自选,因为我是服务器小白,所以不小心买了Windows系统的,建议大家可以买Linux系统的,安全一些,也是目前市场的主流服务器选择。
注意:备案要求服务器使用剩余时间大于3个月,所以建议你在购买时买3个月以上的使用期限。
如图,你可以在图中位置看到你的公网地址和内网地址,内网不重要,公网地址就是外部可以访问的地址,当然,此时你还不能访问,因为你还没有部署服务器。
接下来,我们就需要登录云服务器啦。
腾讯云已经将服务器的初始登录密码发到你的消息里,同时按下键盘的“win”+“R”,输入“mstsc”,按“回车”即可快速跳转远程连接,用户名填写为“Administrator”,密码为腾讯云发你的初始密码,即可登录啦。
2、使用服务器
登录服务器后,按下键盘的“win”键 ,选择【服务器管理器】,打开服务器管理器。
在“服务器管理器”窗口中,单击【添加角色与功能】,进入IIS服务器的安装环节,具体步骤网上很多教程,我就不一一说了。
敲黑板:安装过程中要注意,安装ISAPI扩展、ISAPI筛选器,这两个是我们后面部署python接口的关键!!!
po个链接给你们,点他就行:Windows Server 2012R2服务器IIS安装步骤
安装完成后,你就可以通过公网ip地址访问你的网页啦
二、注册域名及备案
因为微信小程序的request合法域名不能用ip地址,而且只能是https,因此我们需要注册域名,获取SSL证书,以及备案!
注册域名我就不多说了,挑个喜欢的购买就行。注册完后需要等3个自然日才能进行备案。
备案这里有个坑,我办的是个人网站备案,由于我在上海,所以在填写资料时写的是上海,但备案时居然让我提供居住证!所以这里你要注意一下你所在的区域有没有这样的限制,我后面修改了地区资料又等了3天才开始备案。
关于SSL证书,这里我申请的是免费的SSL证书,这个证书仅供一个域名使用,也就是说如果你的域名是www.xxx.com,那么这个证书只管www.xxx.com和xxx.com,如果你想要子域名也可以访问,例如aaa.xxx.com,那么你需要给aaa.xxx.com也申请个证书。
申请证书流程:腾讯云官方免费SSL证书申请流程
等腾讯官方审核成功后,点击下载,你会得到一个zip的压缩文件,
在云服务中安装SSL证书,详细教程:腾讯云官方IIS 服务器安装SSL证书
到这里后,我们就能使用https+域名访问我们的网页啦!
三、python+flask部署
小伙伴们请注意,我的接口是用flask模块编写的单文件,不是flask整个项目哦。
这里我踩了很多坑,百度的乱七八糟的文章太多了,调试了很久,所以,这里我讲个最简单的!!!
1、安装wfastcgi模块
直接pip安装就行
非常重要!!!成不成功就看着一步了!!!在你的安装文件中找到wfastcgi.py文件,将这个文件放到你的网站根目录下。
2、启用wfastcgi模块
在命令行中输入wfastcgi-enable,找到以下信息,复制下来备用:
3、服务器配置及部署
首先,将包含app = Flask(__name__)的文件放到网站的根目录下,也就是上述www.xxx.com的根目录,不知道的朋友看这里:
然后,点击该web下的“处理程序映射”:
点击“添加模块映射”:
点击确定后会弹出以下窗口,选择“是”:
最后一步啦!!!
在你的服务器下,选择“FastCGI设置”:
配置环境变量:
PYTHONPATH :你的网站根目录
WSGI_HANDLER : 文件名.app,例如我的flask接口文件是refer.py,我的配置如下:
OK!重启服务器!搞定!!!现在可以用https+域名访问你的接口啦,如果你的接口文件有更新的话,wfastcgi会帮你自动更新,不需要用命令行执行,只需要更新文件就行,后续是非常方便的!
我这里用了最简单地介绍,过程中的坑我都略过了,小伙伴们如果途中有遇到问题欢迎留言一起爬坑!