目录
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进行守护,方便使用.