我有一个使用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
答案 0 :(得分:7)
我必须使用pcre支持安装uWSGI。它解决了路由问题。
要做到这一点,我必须安装pcre lib(对于Ubuntu这个名为libpcre3的包),然后重新安装uWSGI。由于PCRE已经在您的系统中,因此uWSGI将使用pcre支持自动编译。
@ tobias.mcnulty评论中也有一些观点也可能有用:
pip install -I --no-cache-dir uwsgi
以重新安装它,否则您可能只是获得相同的缓存轮。 !!! no internal routing support, rebuild with pcre support !!!
答案 1 :(得分:0)
[uwsgi]
base = /var/www/html/poopbuddy-api
chdir = %(base)
app = app
我不完全知道chdir的作用,但我认为它已解决了问题……我猜测它至少将默认位置设置为应用程序的根文件夹。当我使用PyCharm时,也会发生类似的事情,我必须在“编辑配置”或“编辑/调试配置”窗口中设置“工作目录”。