知识是一种生活方式

web.py与nginx联动

web.py与nginx联动

web.py作为一个使用非常方便的库,有助于我们这种自学人员搭建自己想要的网站和api,可以说非常好用.除了作者的遭遇表示同情^

主要参考链接:

https://www.cnblogs.com/Jerryshome/archive/2011/07/20/2111683.html

预先安装:

pip install web.py pip install uwsgi

nginx(支持http/2需要openssl>1.0.2)等

一 web.py配置

web.py的主文件(如:main.py)中,使用以下方式启动:

app = web.application(urls,globals()) application = app.wsgifunc()

需要注意的是,不能放在__name__ == “main“下方.

二 nginx配置

以下内容放在server{}中:

location / { include uwsgi_params; uwsgi_param UWSGI_CHDIR /home/wei; # 主要目录 uwsgi_param USWGI_SCRIPT main; # 主文件名称 uwsgi_pass 127.0.0.1:9002; # uwsgi启动的地址和端口 }

    location /static/ {
        if (-f $request_filename) {
            rewrite ^/static/(.*)$  /static/$1 break;
        }
    }

完成后重启nginx服务.

为了使nginx支持的head头更大,可以修改主配置文件(nginx.conf)中http部分的内容:

#用于设置客户端请求的Header头缓冲区的大小,一般1kb就够用 client_header_buffer_size 32k

#设置客户端请求的Header头缓冲区大小,默认为4K。客户端请求行不能超过设置的第一个数,请求的Header头信息不能大于设置的第二个数,否则会报"Request URI too large”(414)或“Bad request”(400)错误。如果客户端的Cookie信息较大,则需增加缓冲区大小 large_client_header_buffers 4 256k;

三 启动uwsgi

进入main.py所在目录,执行即可:

uwsgi -s 127.0.0.1:9002 -w main

可以考虑使用supervisor进行守护,方便使用.

← 返回文章列表 回到首页