sae搭建微信服务器的坑

来源:互联网 发布:ubuntu查看安装的软件 编辑:程序博客网 时间:2024/06/05 10:42

最近申请了个微信公众号,并且搭了个微信服务器后台玩一玩。只是出于技术的目的,看下整套流程是怎么玩的。谁知应该很简单的流程被一个坑卡了3天之久。写下文章记录下整个过程。

后台服务器的选择


自己的机器

这个目前的环境下基本没人会选择这个了,家里建立个服务器又耗电维护又麻烦,云服务器网上到处是。公司环境下要和it同事搞合作把对应服务进程端口号开放到外网,一般的公司都不会因为你的爱好原因同意这个的,宽松的公司倒是可以搞,不过内网的机器做服务器网络质量实在是无法保证啊。

腾讯云

腾讯是没钱的事绝对不干,我在网上浏览了半天,它应该是只针对公司用户的,不针对个人用户,注册要公司营业执照。微信公众号目前也是,个人的认证已经关闭了,只有公司认证,而且认证要先交费,审核不通过费用不退,垄断了市场就是牛啊。

阿里云

阿里云果然有淘宝的基因,里面有很多就是服务器运维商小卖家,依据个人需求选购。有很多号称免费的个人服务器,但是服务费是必收的,所以其实没有免费的服务器。使用最低配置的服务器一个月也得50元左右。

百度云

和阿里类似

sae新浪云计算平台

百度中搜微信后台搭建最多的应该就是用新浪的sae的了,因为新浪有应用的概念。一般的服务器是一个操作系统环境,可以是真实的机器,也可是虚拟机资源,但是对于一个公众号后台来说,跑一个服务后台要建立一个操作系统环境有点太浪费了,跑一个应用就可以了。所以新浪预装了很多三方库,然后用户上传应用代码后就可以直接跑后台程序了。因为使用资源不多,所以sae是很便宜的,不使用数据库且流量少的话一天一毛钱。

sae的坑


代码版本

网上的大部分文章貌似都是使用svn上传代码的,为了标识应用版本,实际代码目录是先建立个文件夹名称叫做1(第一个版本),然后把真正的代码放在文件夹1中再上传,这个绝大多数文章都没有提到过这个,可能是我没怎么阅读文档的原因。

但是目前基本都使用git管理代码了,git有branch的概念,所以不用建立文件夹了,直接建立个branch就ok了,所以用名称为1的分支代替了svn中文件夹1。

三方库

起初我使用django搭建后台,后来一直是发现sqlite库找不到而导致服务无法启用,为了解决这个sqlite报错问题,我首先尝试安装sqlite库。新浪只预装了部分三方库,如果需要其它三方库的话要自己安装在代码目录中vendor目录下或者在配置中指定路径。但是有很多三方库使用指定目录的安装方式是无法安装成功的(不指定目录可以成功,估计是安装脚本根本没有考虑指定安装的情况,按造默认情况修改系统文件或者判断的时候就会出问题),这个也是ubuntu安装的一个弊端了,安装python三方库使用pip正常流程无所谓,出问题只能一脸懵逼,不可能出了问题就去看源码吧。windows系统极少出现安装失败的状况,Ubuntu安装失败的概率确高很多,技术控能搞定,对于大部分人来说三方库的依赖和报错真的是很头疼。不幸的是sqlite就是无法安装成功。
看着网上一篇篇说10分钟搭建sae后台的文章,我陷入了对自己深深的怀疑,果然互联网不好搞啊,怪不得bat工资那么高啊,我还是回去做手机,看Android源码把。后来想想觉的不对呀,网上也不会有大把人集体欺骗我吧。然后我开始试验sae支持的全部Django版本,sae支持Django 1.2、1.4、1.8等多个版本,最后发现只有1.4不会报sqlite的错误。
其实这个是sae的伎俩了,python默认应该是支持sqlite的,但是sae的环境下是不支持sqlite的,然后pip安装也无效。这个根本目的是让你使用sae提供的mysql服务,mysql服务比起后台程序可就贵多了,一天最低费用是5毛,按照使用情况会另外加钱。这个太坑了,我花了三天的问题找到的原因只是因为sae要卖mysql的服务。不支持的Django版本就tmd不要写在文档中,或者说你阉割了python环境后把Django的配置文件改下,不要因为sqlite报错。
使用黑盒服务有好处也有坏处,好处是工作好像很简单,坏处是出了问题很难解决。如果是直接使用操作系统环境,问题会少很多很多。



原创粉丝点击