ShimmerCat - 使用ShimmerCat作为Django应用程序的反向代理

时间:2016-03-18 10:56:35

标签: django deployment shimmercat

我使用此(https://www.shimmercat.com/)测试了ShimmerCat(https://pypi.python.org/pypi/sc-tool/)和sc-tool(https://www.shimmercat.com/en/info/articles/getting-started/)。我试图在本地部署应用程序,但发生404错误。

这是我项目的结构:

├── db.sqlite3
├── devlove.yaml
├── manage.py
├── testapp
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── templates
│   │   └── home.html
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── testproject
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
└── static
│   ├── base.css

这是我的devlove.yaml文件:

shimmercat-devlove:
    domains:
        www.test.com:
            root-dir: testproject
            consultant: 8080
            cache-key: xxxxxxx

我没有对settings.py进行任何更改

您对如何解决404错误有任何建议吗?先感谢您。

1 个答案:

答案 0 :(得分:2)

对于Web服务器,您通常会让Web服务器本身提供静态文件,并且Web服务器将应用程序的动态部分代理到您的应用程序。

因此,您项目的开始设置将是:

shimmercat-devlove:
    domains:
        static.test.com:
            root-dir: static
            cache-key: xxxxxxx
        www.test.com:
            port: 8080

“static.test.com”下缩进的所有内容都将作为静态资源提供,因此您需要修改settings.py文件以将“static.test.com”标识为您的静态域:

STATIC_URL="https://static.test.com/"

除此之外,您还需要以一种常用的方式运行Django应用程序,同时与服务器一起运行。例如,您可以从启动开始:

$ python manage.py runserver 

然后在新的终端中从项目目录中调用ShimmerCat:

$ shimmercat devlove