我在这里结束了......并且计划开始深入研究Django源代码来解决这个问题。
我有一个Django应用程序,它是通过启动项目以标准方式创建的。到目前为止,我一直在通过“python manage.py runserver 8081
”进行测试。
现在我试图使用mod_uwsgi将其置于Nginx之后。
所以我使用here上的优秀说明进行测试。
我的ini文件如下所示:
uwsgi]
chdir=<path_to_my_project>
module=<application>.wsgi:application
pidfile=/tmp/<pid_file_name>
max-requests=5000
daemonize=/var/log/uwsgi/<log_file_name>
env=DJANGO_SETTINGS_MODULE=<application>.settings
http-socket=127.0.0.1:50000
所以我使用以下方式启动应用程序:
uwsgi --ini uwsgi.ini
一切似乎都很好看:
问题:
当我通过http://site_url
点击该网站时;我在浏览器中获得了HTML页面。但是没有反映出任何CSS样式。此外,我的java脚本函数都没有执行。所以不确定什么是错。
仅供参考:我注意到日志中有以下几行:
[pid: 15730|app: 0|req: 7/7] 127.0.0.1 () {36 vars in 696 bytes} [Thu Apr 25 16:40:50 2013] GET / => generated 11774 bytes in 2 msecs (HTTP/1.1 200) 1 headers in 59 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 8/8] 127.0.0.1 () {36 vars in 710 bytes} [Thu Apr 25 16:40:50 2013] GET /static/jquery/jquery-1.9.1.min.js => generated 2874 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 9/9] 127.0.0.1 () {36 vars in 727 bytes} [Thu Apr 25 16:40:50 2013] GET /static/bootstrap/css/bootstrap.css => generated 2877 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 10/10] 127.0.0.1 () {36 vars in 716 bytes} [Thu Apr 25 16:40:50 2013] GET /static/bootstrap/js/bootstrap.min.js => generated 2883 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 11/11] 127.0.0.1 () {32 vars in 570 bytes} [Thu Apr 25 16:40:50 2013] GET /favicon.ico => generated 2808 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 12/12] 127.0.0.1 () {36 vars in 696 bytes} [Thu Apr 25 16:40:51 2013] GET / => generated 11774 bytes in 2 msecs (HTTP/1.1 200) 1 headers in 59 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 13/13] 127.0.0.1 () {36 vars in 710 bytes} [Thu Apr 25 16:40:51 2013] GET /static/jquery/jquery-1.9.1.min.js => generated 2874 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 14/14] 127.0.0.1 () {36 vars in 727 bytes} [Thu Apr 25 16:40:51 2013] GET /static/bootstrap/css/bootstrap.css => generated 2877 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 15/15] 127.0.0.1 () {36 vars in 716 bytes} [Thu Apr 25 16:40:51 2013] GET /static/bootstrap/js/bootstrap.min.js => generated 2883 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
[pid: 15730|app: 0|req: 16/16] 127.0.0.1 () {32 vars in 570 bytes} [Thu Apr 25 16:40:51 2013] GET /favicon.ico => generated 2808 bytes in 3 msecs (HTTP/1.1 404) 1 headers in 51 bytes (1 switches on core 0)
是否有一些我似乎错过的额外配置?
非常感谢您的时间和投入。如果我找到一个,我会留下一个解决方案。
...最佳
答案 0 :(得分:0)
您可能需要查看有关提供静态文件的django文档部分。 mod_wsgi的规则适用于mod_uwsgi。更简单的方法是配置uWSGI以提供静态文件: http://uwsgi-docs.readthedocs.org/en/latest/StaticFiles.html
如果您的网站负载很重,请检查有关卸载的部分
通常避免使用django来提供静态文件
答案 1 :(得分:-1)
我没有使用nginx而是使用Apache,运行mod_wsgi
。
我有可能使用
Alias /static/ /var/www/django-project/static/
所有文件都在我的目录中,可在http://example.com/static/
访问。
所以也许你可以使用nginx do the same。
编辑: 这会跳过wsgi / cgi / uwsgi的进程,并允许http守护进程直接处理静态文件。没有必要使用python来解析这些请求 - 因为它们只访问静态文件。