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>