socket : 地址和端口号,例如:socket =127.0.0.1:50000processes : 开启的进程数量workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number of workers / processes)chdir : 指定运行目录(chdir to specified directory before apps loading)wsgi-file : 载入wsgi-file(load .wsgi file)stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)master : 允许主进程存在(enable master process)daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。log-maxsize :以固定的文件大小(单位KB),切割日志文件。 例如:log-maxsize =50000000 就是50M一个日志文件。 pidfile : 指定pid文件的位置,记录主进程的pid号。vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)disable-logging : 不记录请求信息的日志。只记录错误以及uWSGI内部消息到日志中。如果不开启这项,那么你的日志中会大量出现这种记录:[pid:347|app:0|req:106/367] 117.116.122.172 () {52varsin961bytes} [Thu Jul 719:20:562016] POST /post => generated 65bytesin6msecs (HTTP/1.1200)2 headers in88bytes(1 switches on core 0)log-maxsize: 日志大小,当大于这个大小会进行切分 (Byte)log-truncate: 当启动时切分日志
4.启动服务
uwsgi --ini config.ini
5.配置nginx代理转发
location /{ include uwsgi_params; uwsgi_pass 127.0.0.1:5000;}因为转发之后的通信是使用的uwsgi://127.0.0.1:5000进行通信,所以uwsgi配置socket方式如果使用http的方式进行通信的话:location /{ proxy_pass http://127.0.0.1:5000;}