Linux Version:
[root@mail ~]# uname -a
Linux mail.vtata.cn 2.6.18-128.el5xen #1 SMP Wed Jan 21 11:12:42 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
[root@mail ~]# cat /etc /redhat-release
CentOS release 5.3 (Final)
Python Version:
[root@mail ~]# python
Python 2.7.5 (default, Jun 14 2013, 18:21:34)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information
uwsgi Version:
uWSGI 1.4.9
web.py Version:
web.py-0.37
First, installthe required programs, because the Python that comes with Centos is 2.4. If Failure to update to 2.7 will cause module import errors and other problems.
tar xvf Python-2.7.5.tgz cd Python-2.7.5 ./configure && make all && make install && make distclean mv /usr/bin/python /usr/bin/python.bak ln -sv /usr/local/bin/python2.7 /usr/bin/python sed -i s@/usr/bin/python@/usr/bin/python2.4@ /usr/bin/yum tar zxvf uwsgi-1.4.9.tar.gz cd uwsgi-1.4.9 python uwsgiconfig.py --build python setup.py install tar zxvf web.py-0.37.tar.gz cd web.py-0.37 python setup.py install
This time it is used through the combination of uwsgi and nginx. Please read the previous article for verification about the integration of uwsgi and nginx.
The code is as follows:
File name: webinput.py
import web import hashlib urls = ( '/','index' ) class index: def GET(self): token='shiji' sign = web.input() tmplist = [token,sign.timestamp,sign.nonce] tmplist.sort() tmpstr = "%s%s%s"%tuple(tmplist) tmpstr = hashlib.sha1(tmpstr).hexdigest() if tmpstr == sign.signature: return sign.echostr else: return None app = web.application(urls,globals()) application = app.wsgifunc()
Start uwsgi after starting nginx. The startup process is as follows:
[root@mail html]# uwsgi -s 127.0.0.1:9000 -w webinput *** Starting uWSGI 1.4.9 (64bit) on [Mon Jun 17 17:19:16 2013] *** compiled with version: 4.1.2 20080704 (Red Hat 4.1.2-44) on 17 June 2013 17:15:20 os: Linux-2.6.18-128.el5xen #1 SMP Wed Jan 21 11:12:42 EST 2009 nodename: mail.vtata.cn machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 8 current working directory: /usr/local/nginx/html detected binary path: /usr/local/bin/uwsgi uWSGI running as root, you can use --uid/--gid/--chroot options *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** *** WARNING: you are running uWSGI without its master process manager *** your processes number limit is 61234 your memory page size is 4096 bytes detected max file descriptor number: 52100 lock engine: pthread robust mutexes uwsgi socket 0 bound to TCP address 127.0.0.1:9000 fd 3 Python version: 2.7.5 (default, Jun 14 2013, 18:21:34) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] *** Python threads support is disabled. You can enable it with --enable-threads *** Python main interpreter initialized at 0xfe30520 your server socket listen backlog is limited to 100 connections mapped 72424 bytes (70 KB) for 1 cores *** Operational MODE: single process *** WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0xfe30520 pid: 10775 (default app) *** uWSGI is running in multiple interpreter mode *** spawned uWSGI worker 1 (and the only) (pid: 10775, cores: 1) 13712480011371460796shiji [pid: 10775|app: 0|req: 1/1] 101.226.33.171 () {34 vars in 616 bytes} [Mon Jun 17 17:19:43 2013] GET /?signature=915c123b81282828ae1eecdc202336d07dfc15d8&echostr=5889465363321509055×tamp=1371460796&nonce=1371248001 => generated 4 bytes in 2 msecs (HTTP/1.0 200) 0 headers in 19 bytes (2 switches on core 0)
Open the WeChat public platform interface and proceed in the advanced functions The settings are as shown in the figure:
The above is the detailed content of WeChat public account developer certification: Detailed explanation of the steps of uwsgi combined with web.py. For more information, please follow other related articles on the PHP Chinese website!