云平台开发架构分析系列:19 Nginx+uWSGI+webpy环境搭建实践1

1228 人浏览 | 时间: 2017-07-02 02:44:17 | 作者: codexia 会员文章,禁止转载

发现一个程序员专属的导航网站,你肯定不知道,是时候告诉你了,请前去看看吧

        从第7篇到13篇,分别讲解了Nginx的安装和默认配置文件的基本配置项。第14篇到16篇讲解了Nginx+uWSGI+webpy架构的原理。17和18两篇分别讲解了uWSGI和webpy的安装方法。到此,服务器的几个部分都安装上了。对于单个的Nginx配置静态网站也介绍 。现在开始讲解整个服务器架构的环境配置的过程。

        Nginx、uWSGI和webpy三者都是可以直接当做HTTP服务器的,只不过,Nginx效率最高,处理静态网页、负载均衡等都做的很好,在实际的运行中使用。uWSGI主要在动态网站技术处理上表现的很不错,所以才用这个来处理动态请求。虽然webpy可以直接当做http服务器,但是这个http服务器的功能,主要是用于开发调试使用,功能很弱。webpy就是作为web开发框架来提高开发效率的。

        了解了为什么我们要选择三者组合,我们在前面也学习到了三者是如何配合起来工作的,如果将Http请求一步步传递转化为webpy能够处理的样子,最后又返回给Nginx返回给浏览器。但是前面只是从理论上讲了一下。要想让这个组合真正跑起来,我们还要做一些工作。

        到这里,我假定你按照一步步的说明,将这三个东西装好了。下面开始介绍这三个东西具体是如何配合工作的,如何配置使用的。

    第一站:Nginx

        Nginx还是作为Http服务器而存在,用于转发HTTP请求。你可以全部转发,也可以部分转发。如果是部分转发,一般就是将动态的请求转发给uWSGI服务器处理,而静态的页面,则直接由Nginx处理。

        我们前面介绍的nginx默认配置文件,就是配置的静态网站。如果只是用这个配置,Nginx还是单独工作的。所以我们现在就要修改nginx的配置文件,将动态的请求转发给uWSGI。

        我们来看看修改后的关键部分的配置:

server {
    listen       80;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    location /api/student {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8001;
    }
    location /api {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8002;
    }
}
     这里就截取了server内的配置,因为其他配置项不需要改动。一个server代表一个独立运行的网站。我们就直接在80端口的网站里做部分HTTP请求的转发。当然,如果你想单独配置一个网站来做转发,也是可以的。你只需要按照默认配置文件里面讲解的那样,配置多个网站出来就行了。然后转发的配置,就看这里的讲解。为了方便理解,我这里就在一个网站里配置了。这样的话,你用80端口既可以正常作为静态网站使用,然后指定不同的路径下的地址作为动态请求,就不必单独开一个端口。非80端口需要在url里面显式加在url里,如:

    http://www.cjjjs.com:8080/index.html

   

开通会员付1C币>>阅读全文
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读