基于django框架的微信接口 部署配置

昨天申请了微信公众号,于是动手开发一套自己的后台消息处理。后台服务器是双十一时在盛大云11块买的云虚拟机,配置超低,512MB内存用来跑linux足以了。云上的python是2.6版本,我的windows上的环境是python3 。升级一下python3后又发现wechat_sdk的包是基于python2编写的,如果需要用到这个包需要后面修改basic.py里面的代码,后面再补上如何修改的。毕竟使用wechat_sdk会方便很多,或者用werobot的接口。

配置python

1.下载python3
下载前先安装依赖包

yum install libbz2
yum install readline-devel
yum install sqlite-devel
yum install zlib-devel
yum install openssl-devel
wget https://www.python.org/ftp/python/3.4.0/Python-3.4.3.tar.xz

2.解压,安装

tar xvf Python-3.4.3.tar.xz
chmod 755 -R Python-3.4.3
cd Python-3.4.3
./configure -prefix=/opt/python3 
make all
make install

3.删除bin下的python,重新链接

ln -s /opt/python3/bin/python3 /bin/python

4.安装好python3以后,使用yum会失败,因为它默认依然是python2.6
将/usr/bin/yum文件头部的#!/usr/bin/python修改为 #!/usr/bin/python2.6 即可。

部署nginx

nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理 。然后,nginx将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。

1.下载安装nginx
处理yum源

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

2.安装,运行

yum install nginx
service nginx start

浏览器访问可以检测

3.配置nginx

vim /etc/nginx/nginx.conf

在http{} 中添加server配置,如图:
nginx配置

然后重启nginx服务即可

配置Django

1.安装pip

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
ln -s /opt/python3/bin/pip3.5 /usr/bin/pip3

2.安装Django

pip3 install Django==1.8.5
python -c "import django; print(django.get_version())"

3.配置django
运行报出警告
python manage.py runserver 0.0.0.0:8001
这里写图片描述
解决方法,在settings.py中注释掉如图:
这里写图片描述

修改settings.py关掉debug

DEBUG = False
ALLOWED_HOSTS = ['*']

修改wsgi.py加入???是你的项目名称

#!/usr/bin/env python

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "????.settings")
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

然后将wsgi.py移动到manage.py目录下

访问网站查看最新版本:
https://www.djangoproject.com/download/

部署uwsgi

uwsgi的作用就类似一个桥接器。起到桥梁的作用。
uwsgi+django也是可以实现WEB服务的。uwsgi也可以直接处理WEB请求。

1.安装uwsgi

pip3 install uwsgi
ln -s /opt/python3/bin/uwsgi /usr/bin/uwsgi

2.配置uwsgi
在manage.py目录下创建django.ini文件,编写如下

vim django.ini
[uwsgi]
socket=:8088
chdir=/home/myweb/myweb
module=wsgi
processes=1
daemonize=uwsgi.log

socket和nginx.conf里面配置的信息一致
processes启动的uwsgi进程数,按需要修改

3.启动uwsgi

uwsgi --ini django.ini

结束进程直接
killall -9 uwsgi

配置wechat_sdk

1.安装

pip3 install wechat_sdk

2.修改代码
因为我需要的是python3运行django,发现报错,根据错误信息修改几处后正常使用。

找到安装后包的位置打开basic.py
from StringIO import StringIO
改为
from io import StringIO

修改def _transcoding为以下

    def _transcoding(self, data):
        """
        编码转换
        :param data: 需要转换的数据
        :return: 转换好的数据
        """
        if not data:
            return data
        result = data
        return result

ok,基本上部署配置完成后面就是开发django的事情了,使用wechat_sdk只需要很少的工作就能正常工作。

我的微信公众号:xihujun
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值