uwsgi是什么:
/etc/uwsgi/apps-enabled/xxx.xml 主要告诉uwsgi建立一个socket,接收nginx的fast cgi并处理。
配置一个站点实例:
<uwsgi id="monitor"> <socket>127.0.0.1:9090</socket> <master /> <home>/var/wsgi/</home> <chdir>/var/wsgi/monitor</chdir> <plugins>python</plugins> <wsgi-file>/var/wsgi/monitor/main.py</wsgi-file> <processes>2</processes> <workers>4</workers> <memory-report/> <pidfile>/tmp/uwsgi_myapp.pid</pidfile> <max-requests>10000</max-requests> <daemonize>/var/log/monitor.log</daemonize> </uwsgi>
nginx相应配置:
server { listen 80; # listen [::]:80 ipv6only=on; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; //app static files go here location /monitor/static/ { alias /var/wsgi/monitor/templates/static/; } //global static files go here location /static/ { alias /var/wsgi/static/; } //match other urls, pass it to localhost:9090 (uwsgi) location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. # try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules include /etc/nginx/uwsgi_params; uwsgi_pass 127.0.0.1:9090;
常见错误:
nginx
+ uwsgi: — unavailable modifier requested: 0 --
plugin未设置(python)..
<uwsgi id="monitor"> <socket>127.0.0.1:9090</socket> <master /> <home>/var/wsgi/</home> <chdir>/var/wsgi/monitor</chdir> <!-- if your virtualenv has this plugin, then you should comment this--> <!-- or, you have to uncomment it --> <!-- <plugins>python</plugins> --> <wsgi-file>/var/wsgi/monitor/main.py</wsgi-file> <processes>2</processes> <workers>4</workers> <memory-report/> <pidfile>/tmp/uwsgi_myapp.pid</pidfile> <max-requests>10000</max-requests> <daemonize>/var/log/monitor.log</daemonize> </uwsgi>