Django CMS 不适用于 uWSGI
Posted
技术标签:
【中文标题】Django CMS 不适用于 uWSGI【英文标题】:Django CMS not working with uWSGI 【发布时间】:2017-11-02 22:43:00 【问题描述】:我有一个用 Django CMS 开发的网站。
使用manage.py runserver
运行它时效果很好,但是当我尝试使用 nginx 和 uwsgi 运行它时,我收到以下错误:
在 include() 的情况下,视图必须是可调用的或列表/元组。
我认为问题可能在于我在 virtualenv
中运行 django cms。
我在另一个 django 项目中使用了相同的 conf 文件,但它不在 virtualenv 中
我在我的 virtualenv 中启动 uwsgi。
我的 wsgi.ini:
[uwsgi]
chdir = /var/www/user.name/mysite
module = mysite.wsgi
#home = /var/www/user
master = true
processes = 10
socket = /var/www/user/mysite/mysite.sock
chmod-socket = 666
vcuum = true
我的 nginx 配置文件
upstream django
server unix:///var/www/user/mysite/mysite.sock;
server
# listen on port
listen 80 default_server;
listen [::]:80 default_server;
server_name example.name www.example.name;
return 301 https://$server_name$request_uri;
server
#Default server?
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name example.name www.example.name;
charset utf-8;
client_max_body_size 75M;
ssl_certificate /etc/letsencrypt/live/user/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/user/privkey.pem;
include snippets/ssl-params.conf;
location ^~ /.well-known
allow all;
alias /var/www/user/.well-known;
location /static
alias /var/www/user/mysite/mysite/static;
location /
uwsgi_pass django;
include /var/www/user/mysite/uwsgi_params;
【问题讨论】:
【参考方案1】:你需要在wsgi.ini中添加虚拟环境路径,类似于:
home = /var/www/myvenv
但不知道这样能不能解决
【讨论】:
以上是关于Django CMS 不适用于 uWSGI的主要内容,如果未能解决你的问题,请参考以下文章