在uWSGI中启用内部路由

And*_*nov 6 django installation uwsgi server

我有一个与uWSGI一起使用的Django应用程序.我的uWSGI配置是:

[uwsgi]
http = 127.0.0.1:8000
env = DJANGO_SETTINGS_MODULE=my_django_app.settings
module = my_django_app.wsgi:application
home = /var/www/myapp/venv
chdir = /var/www/myapp/app
pidfile = /tmp/myapp.pid
logger = syslog
logfile-chown = True
logfile-chmod = 644
touch-logreopen = /var/www/uwsgi/log/rotate_monitor
uid = myapp
gid = myapp
master = True
vacuum = True
harakiri = 20
max-requests = 5000
processes = 4
threads = 1
post-buffering=4096
touch-reload = /var/www/myapp/conf/uwsgi.ini

route = ^/test log:someone called /test
Run Code Online (Sandbox Code Playgroud)

但是route指令不起作用,我得到常规的uwsgi日志条目.我玩了很多,但找不到办法让它发挥作用.有任何想法吗?我的uWSGI版本是2.0.5.1

And*_*nov 7

我不得不用pcre支持安装uWSGI.它解决了路由问题.

要做到这一点,我必须安装pcre lib(对于Ubuntu这个名为libpcre3的包),然后重新安装uWSGI.由于PCRE已经在您的系统中,因此uWSGI将自动编译为pcre支持.

来自@ tobias.mcnulty的评论也可能有用:

  • 还需要安装Ubuntu上的libpcre3-dev软件包
  • 之后你可能想要运行pip install -I --no-cache-dir uwsgi以重新安装它,否则你可能只是得到相同的缓存轮.
  • 日志中的错误是 !!! no internal routing support, rebuild with pcre support !!!

  • 注意,在Ubuntu上,您还需要`libpcre3-dev`软件包,并且需要运行`pip install -I --no-cache-dir uwsgi`来重新安装它,否则您可能会得到相同的缓存轮。日志中的错误是`!!! 没有内部路由支持,请使用pcre支持进行重建! (2认同)