开发微信公众号基础消息能力的经验(二)

配置服务器

原来使用Apache + mod_wsgi,不愿再改。当我看了Nginx + uwsgi的配置语法,以及Nginx自身的介绍,此时不改,更待何时。

 

我在阿里云的CentOS下载nginx,使用Python虚拟环境下载uwsgi,一切都很顺利:

在nginx的配置文件/etc/nginx/nginx.conf的http{...server{...}...}的server块改动这几项即可:

charset utf-8;

location ~ /(jm-wechat|jm-dms|jm-admin|jm-test) {

    include uwsgi_params;

    uwsgi_pass 127.0.0.1:8080;

}

四个路径(正则方式)用于不同的功能访问:jm-wechat给微信使用,jm-dms给业务功能,jm-admin给用户认证准备(生成认证码),jm-test用于测试一些小玩意。这个做法不是我在项目启动时就设计好的,而是在项目推进中觉得需要,又返回去修改而成型的。

uwsgi_pass 用于把监听到对这些地址的访问,转给uwsgi处理,做了端口转发,这样不影响Nginx最前端的80端口,所以Nginx的设计很清楚!

事实上,①关于测试肯定有高大上且更合适的方法;②配置中的uwsgi_params(及其所在文件夹)的具体作用是什么;③即便做了备份,也不应该采用改动nginx.conf文件的方式,应该在conf.d中新建。具体这些我知道的不多,需要看一下专业的书籍,我觉得答案距离我只差一层纸。

关于uwsgi,写好uwsgi.ini文件即可。

 

题外话,我买了一本nginx的书籍,——精通Nginx,是一个瑞士人写的。然而我觉得几乎没有用处,比如配置nginx需要10个步骤或事项,它仅仅是列出这10项而已,完全没有前因后果、功能设计等等背景介绍。甚至它没有介绍nginx服务的启动/停止/重启方式,即便这是属于操作系统的事,但是有些参数至少和nginx的配置有一些关联吧。所以这本书,不知道为何(在知乎上)能进入关于nginx的重点推荐书单。它是属于那种不懂的人不能看,懂的人不需看的“书籍”。

 

上一篇:Kubernetes Job Controller 原理和源码分析(三)


下一篇:jmeter命令模式运行并生成测试报告