在uWSGI中启用内部路由

问题描述 投票:6回答:1

我有一个与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

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

django installation server uwsgi
1个回答
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 !!!
© www.soinside.com 2019 - 2024. All rights reserved.